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 nginxEPELリポジトリからパッケージをインストールするのが初めての場合、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 nginxsudo 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=httpsudo firewall-cmd --permanent --zone=public --add-service=httpssudo 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
-