Nginxは、インターネット上でWebページを提供するために使用される有名なWebサーバーです。 2004年10月に最初に立ち上げられたNginxは、すぐに何千ものWeb開発者に選ばれるWebサーバーおよびプロキシサーバーになりました。競合他社のApacheに比べて多くの利点があります。この記事では、UbuntuにNginxをインストールし、それを使用してWordPressをホストする方法を学習します。
始める前に、これはNginxとApacheまたはその他のWebサーバーの比較ではないことを明確に述べさせてください。 Apacheは1999年に導入され、いくつかの便利な機能を提供します。 WordPressをApacheにインストールしたい場合は、このテーマに関する記事がすでにあるので、チェックしてください。
Nginxは、約17年前の2004年10月に最初に発売されました。ほとんどのWeb開発者は、限られたハードウェアリソースで複数の同時クライアント要求を迅速に処理できるため、Nginxを好み、インターネット上でのWebサイトのホスティングのコストを削減します。 Nginxはリバースプロキシとしても使用でき、パブリックインターネットアクセスがないプライマリホスティングサーバーにクライアントリクエストを送信して、ホスティングサーバーを他の方法よりも安全にします。
NginxにWordPressをインストールするための前提条件
この記事では、Ubuntuオペレーティングシステム、PHP 8.1、Nginx、およびWordPressを使用します。 WordPressが何であるかわからない場合は、一連の記事、WordPress101でWordPressについて説明しました。
- Ubuntu 20.04
- Nginx
- PHP 8
- WordPress
Ubuntu 20.04は、Ubuntuの長期サポートリリースです。 Ubuntuのインストールについてサポートが必要な場合は、LinuxAndUbuntuに関するこの記事を参照してください。 Ubuntuをインストールしたら、残りの必要なパッケージのインストールに進むことができます。
AWS、Google Cloud Platform、Linode、DigitalOcean、MassiveGRIDなどのクラウドサービスを使用している場合は、インストール段階をスキップできます。すべてのクラウドプロバイダーは、Nginxを使用したワンクリックのUbuntuサーバーのインストールをサポートしています。したがって、コードネームがFocalFossaであるUbuntu20.04を使用します。ほとんどのクラウドプロバイダーは、デフォルトでUFWファイアウォールをUbuntuにプレインストールします。サーバーのセキュリティを向上させ、以下に示すTCPポートを許可するために、ファイアウォールを有効にすることをお勧めします。
UFWがプリインストールされていない場合は、リポジトリから自由にインストールしてください–
apt install ufw
ufw enable
ufw allow http
ufw allow https
ufw allow 22
http およびhttps ポート80とポート443です。ポート22は、サーバーへのSSH接続用です。サーバーがsshにカスタムポートを使用している場合は、現在のSSH接続を閉じる前にカスタムsshポートを許可してください。 UFWファイアウォールを有効にすると、手動で許可されていない限り、すべてのポートがブロックされます。したがって、進行中のSSH接続を閉じると、SSHポートが許可されるまでSSHアクセスは許可されません。
また、オペレーティングシステムを更新して、サーバーに最新のセキュリティ更新プログラムが完全に適用されていることを確認します。
apt update
apt upgrade
通知 rootとしてログインし、サーバーでアクションを実行することはお勧めしません。したがって、新しいユーザーアカウントを設定し、それに
sudo
を付与します。 特権。adduser username
上記のコマンドは、ユーザー作成プロセスを開始します。簡単な手順に従って、新しく作成したユーザーにsudo
を付与します 次のコマンドを使用した特権–
usermod -aG sudo username
今度はreboot
サーバーとssh
新しいユーザーアカウントでサーバーに接続します。
Nginxをインストール
Nginxのインストールは、システムに他のパッケージをインストールすることと同じです。 aptパッケージマネージャーを使用して、リポジトリからnginxをインストールします–
sudo apt install nginx
インストールプロセスが終了したら、次のコマンドを使用してサーバーを起動/再起動します–
service nginx restart
service nginx status
IPアドレスにアクセスして、サーバーが正しく機能していることを確認します。以下は、サーバー上でnginxが正しく機能していることを確認するデフォルトのnginxページです。
>WordPressを提供するようにNginxを設定する
Nginxは、仮想ホストを使用して、同じサーバー上の複数のWebサイトを簡単に処理できます。デフォルトでは、nginxは上記のNginxウェルカムページを表示するデフォルトプロファイルを作成します。最初にデフォルトのプロファイルを無効にしてから、WordPressを処理するための新しいプロファイルを作成します。
sudo unlink /etc/nginx/sites-enabled/default
上記のコマンドは、デフォルトのNginxプロファイルを無効にします。次に、WordPressインストール用の新しいプロファイルを作成します。
sudo nano /etc/nginx/sites-available/example.com
次に、次の構成をテキストエディタに貼り付けます。
server {
listen 80;
listen [::]:80;
server_name gaminggroup.online;
root /var/www/gaminggroup.online;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
}
上記のファイルを保存する前に、上記の構成が何をするかを理解してください。この構成を有効にすると、Nginxは server_nameの値として指定されたドメイン名のリクエストの検索を開始します 構成内。
server_name =>当社のウェブサイトのドメイン名
ルート =>サーバーに保存されている当社のWebサイトのルートディレクトリ
インデックス =>ウェブサイトのルートで検索するファイル
場所 =>ロケーションブロックはリクエストURIを処理します(少し複雑で、その機能については別の記事に値します)
gaminggroup.onlineを置き換えます あなた自身のドメイン名で。ルートオプションを使用して、ウェブサイトのルートが/var/www/gaminggroup.online
内にあることを指定しました 。したがって、次のステップでは、/var/www
にWebサイトディレクトリを作成します。 。
次に、構成ファイルを ctrl + xで保存します。 Enterを押します 。
ウェブサイトのルートディレクトリを作成する
sudo mkdir /var/www/gaminggroup.online
これで、誰かが当社のWebサイトexample.comにアクセスするたびに、リクエストに基づいて、nginxはこの/var/www/gaminggroup.online
からユーザーにコンテンツを提供します。 ディレクトリ。構成をテストするには、Webサイトのルート(/var/www/gaminggroup.online)内にサンプルのindex.htmlを作成します。
sudo nano /var/www/gaminggroup.online/index.html
次のサンプルHTMLをファイルに貼り付けて保存します。
<h2>Hello world!</h2>
<p>This is a test page for gaminggroup.online</p>
すべてが正常に機能しているかどうかをテストする前に、サーバーがその中のファイルにアクセスできるように、Webサイトのルートディレクトリに正しいアクセス許可を設定しましょう。
sudo chown -R www-data:www-data /var/www/gaminggroup.online/index.html
Nginxの構成にエラーがないか確認してください–
sudo ln -s /etc/nginx/sites-available/gaminggroup.online /etc/nginx/sites-enabled/
sudo nginx -t
設定に間違いがなければ、行ってもいいです。ドメイン名にアクセスすると、セットアップしたサンプルのindex.htmlページが表示されます。
sudo service nginx restart
上のスクリーンショットは、構成が正常に機能していることを確認しています。これで、WordPressのインストールの準備に進むことができます。
データベースサーバーをインストールして、WordPress用のデータベースを作成しましょう。
MariaDBサーバーをインストールする
sudo apt install mariadb-server
mysql_secure_installationを実行してサーバーをセットアップします。
sudo mysql_secure_installation
MySQLrootユーザーのパスワードを作成できます。 rootユーザーのパスワードを作成したくない場合は、sudo msyql
を使用してMySQLrootユーザーにログインするだけです。 。
rootユーザーのパスワードを作成した場合は、次のコマンドを使用してrootユーザーにログインします–
mysql -u root -p
Or
sudo mysql (type sudo password when prompted)
データベースの作成–
create database wordpress;
ヒント WordPressデータベース用の新しいMySQLユーザーを作成することを強くお勧めします。
MySQLユーザーを作成する–
create user 'sandy'@'localhost' identified by 'password';
新しく作成されたユーザーにデータベース(ワードプレス)権限を付与する–
grant all privileges on wordpress.* to 'sandy'@'localhost';
このデータベースユーザーをWordPressで使用して、データベースに接続できるようにすることに注意してください。 rootユーザーを使用してWordPressをデータベースに接続することは固く禁じられています。
PHPと、WordPressが機能するために必要ないくつかのPHP拡張機能を含む必要なパッケージをインストールしましょう。
PHP8リポジトリを追加
sudo add-apt-repository ppa:ondrej/php
> PHPおよびPHP拡張機能のインストール–
sudo apt install php-cli php-fpm php-mysql php-json php-mbstring php-xml php-gd php-curl
WordPressのインストールは以上です。サンプルのindex.htmlファイルを/var/www/gaminggroup.online
から削除します 。
WordPressをダウンロード–
wget -O /tmp/wordpress.tar.gz https://wordpress.org/latest.tar.gz
sudo tar -xvf /tmp/wordpress.tar.gz -C /tmp/
WordPressファイルをWebサイトのルートディレクトリに移動します–
sudo mv /tmp/wordpress/* /var/www/gamingroup.online
権限の修正–
sudo chown -R www-data:www-data /var/www/gaminggroup.online
sudo find /var/www/gaminggroup.online/ -type d -exec chmod 755 {} \;
sudo find /var/www/gaminggroup.online/ -type f -exec chmod 644 {} \;
次のlocation
を追加します 既存のlocation
の後にサイトの構成でブロックする WordPressで動作するようにブロックします。
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
最終的な構成は次のようになります–
server {
listen 80;
listen [::]:80;
server_name gaminggroup.online;
root /var/www/gaminggroup.online;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
}
WordPressのセットアップは以上です。次に、Webブラウザからさらに手順を完了する必要がありました。ウェブブラウザからドメイン名にアクセスすると、WordPressのインストールページにリダイレクトされます。
「行こう!」をクリックしますWordPressでデータベースを設定するため。次に、上記で作成したデータベース名、データベースユーザー名、データベースユーザーのパスワードを入力し、[送信]をクリックします。
>[インストールを実行する]をクリックすると、ウェブサイトのタイトルを入力したり、WordPress管理者を設定したりできます。心配しないでください。これらの詳細は、後でいつでも変更できます。
>そしてサプライズサプライズ! NginxにWordPressをインストールしました。今後数日は、Webサイトのセットアップ、新しいテーマ、プラグインのインストール、およびすばらしいコンテンツの公開に費やす必要があります。あなたが作成したものを私たちと共有してください! 🙂
結論
インストールは終了しましたが、これは管理されていないサーバーであるため、サーバーを自分で管理する必要があります。定期的にアップデートをインストールするか、無人アップグレードをセットアップしてアップデートを自動的にインストールすることにより、サーバーを最新の状態に保つようにしてください。また、サーバーを再起動せずにカーネルアップデートをインストールするようにCanonicalLivepatchをセットアップします。
WordPressを古いウェブホスティングからこのサーバーに移行したい場合は、このガイドをお読みください。または、WeeblyサイトをWordPressに移行する場合は、このガイドをお読みください。