Nginxはengine x
と発音します は、無料のオープンソースの高性能HTTPおよびリバースプロキシサーバーであり、インターネット上で最大のサイトのいくつかの負荷を処理します。
Nginxは、スタンドアロンWebサーバーとして、およびApacheやその他のWebサーバーのリバースプロキシとして使用できます。
Apacheと比較して、Nginxは非常に多くの同時接続を処理でき、接続あたりのメモリフットプリントが小さくなります。
このチュートリアルでは、CentOS7マシンにNginxをインストールして管理する方法を説明します。
前提条件#
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていること、およびポート80または443でApacheやその他のサービスを実行していないことを確認してください。
CentOSへのNginxのインストール#
以下の手順に従って、CentOSサーバーにNginxをインストールします。
-
NginxパッケージはEPELリポジトリで利用できます。 EPELリポジトリがまだインストールされていない場合は、次のように入力してインストールできます。
sudo yum install epel-release
-
次のyumコマンドを入力してNginxをインストールします:
sudo yum install nginx
EPELリポジトリからパッケージをインストールするのが初めての場合、yumはEPELGPGキーをインポートするように求めるメッセージを表示する場合があります。
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) <[email protected]>" Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 Package : epel-release-7-9.noarch (@extras) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 Is this ok [y/N]:
その場合は、
y
と入力しますEnter
を押します 。 -
インストールが完了したら、次のコマンドでNginxサービスを有効にして開始します。
sudo systemctl enable nginx
sudo systemctl start nginx
次のコマンドを使用して、Nginxサービスのステータスを確認します。
sudo systemctl status nginx
出力は次のようになります。
● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2018-03-12 16:12:48 UTC; 2s ago Process: 1677 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 1675 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 1673 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 1680 (nginx) CGroup: /system.slice/nginx.service ├─1680 nginx: master process /usr/sbin/nginx └─1681 nginx: worker process
-
サーバーがファイアウォールで保護されている場合は、両方のHTTP(
80
)を開く必要があります )およびHTTPS(443
)ポート。次のコマンドを使用して、必要なポートを開きます。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
-
Nginxのインストールを確認するには、
http://YOUR_IP
を開きます 選択したブラウザで、下の画像に示すように、デフォルトのNginxウェルカムページが表示されます。
systemctlを使用してNginxサービスを管理する#
Nginxサービスは、他のsystemdユニットと同じ方法で管理できます。
Nginxサービスを停止するには、次を実行します:
sudo systemctl stop nginx
再開するには、次のように入力します:
sudo systemctl start nginx
Nginxサービスを再起動するには:
sudo systemctl restart nginx
構成を変更した後、Nginxサービスをリロードします:
sudo systemctl reload nginx
Nginxサービスを無効にして起動時に開始する場合:
sudo systemctl disable nginx
そして、再度有効にするには:
sudo systemctl enable nginx
Nginx構成ファイルの構造とベストプラクティス#
- すべてのNginx構成ファイルは
/etc/nginx/
にあります ディレクトリ。 - メインのNginx構成ファイルは
/etc/nginx/nginx.conf
です。 。 - Nginx構成の保守を容易にするために、ドメインごとに個別の構成ファイルを作成することをお勧めします。
- 新しいNginxサーバーブロックファイルは
.conf
で終わる必要があります/etc/nginx/conf.d
に保存されます ディレクトリ。必要な数のサーバーブロックを持つことができます。 - たとえば、ドメイン名が
mydomain.com
の場合は、標準の命名規則に従うことをお勧めします。 次に、構成ファイルの名前を/etc/nginx/conf.d/mydomain.com.conf
にする必要があります。 - ドメインサーバーブロックで繰り返し可能な構成セグメントを使用する場合は、
/etc/nginx/snippets
という名前のディレクトリを作成することをお勧めします。 これらのセグメントをスニペットにリファクタリングし、スニペットファイルをサーバーブロックに含めます。 - Nginxログファイル(
access.log
およびerror.log
)は/var/log/nginx/
にあります ディレクトリ。別のaccess
を使用することをお勧めします およびerror
各サーバーブロックのログファイル。 - ドメインドキュメントのルートディレクトリは、任意の場所に設定できます。 webrootの最も一般的な場所は次のとおりです。
-
/home/<user_name>/<site_name>
-
/var/www/<site_name>
-
/var/www/html/<site_name>
-
/opt/<site_name>
-
/usr/share/nginx/html
-