Nginxは、インターネット上で最大のサイトのいくつかに電力を供給する、オープンソースの高性能HTTPおよびリバースプロキシサーバーです。
Nginxは、スタンドアロンWebサーバーとして、およびApacheやその他のWebサーバーのリバースプロキシとして使用できます。
Apacheと比較して、Nginxは非常に多くの同時接続を処理でき、接続あたりのメモリフットプリントが小さくなります。
このチュートリアルでは、DebianマシンにNginxをインストールして管理する手順の概要を説明します。
前提条件#
チュートリアルを開始する前に、sudo権限を持つユーザーとしてログインしていることを確認してください。
Nginxをインストールする#
インストールは非常に簡単です。以下の手順に従って、DebianシステムにNginxをインストールします。
-
パッケージインデックスを更新します:
sudo apt update
-
Nginxパッケージをインストールします:
sudo apt install nginx
-
Nginxサービスは、インストールプロセスが完了すると自動的に開始されます。次の
curl
を実行して確認できます コマンド:curl -I 127.0.0.1
HTTP/1.1 200 OK Server: nginx/1.10.3 Date: Mon, 27 Aug 2018 22:29:02 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Mon, 27 Aug 2018 22:27:54 GMT Connection: keep-alive ETag: "5b847aea-264" Accept-Ranges: bytes
iptablesを使用してシステムへの接続をフィルタリングする場合は、HTTP(80
)を開く必要があります )およびHTTPS(443
)ポート。
次のコマンドを発行して、必要なポートを開きます。
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
systemctlを使用してNginxサービスを管理する#
systemctl
を使用できます 他のsystemdユニットと同じように、Nginxサービスを管理するコマンド。
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
です。 。 - サーバーブロック(vhost)構成ファイルは
/etc/nginx/sites-available
に保存されます ディレクトリ。このディレクトリにある構成ファイルは、/etc/nginx/sites-enabled
にリンクされていない限り、Nginxによって使用されません。 ディレクトリ。 - サーバーブロックのアクティブ化は、
sites-available
の構成ファイルサイトからシンボリックリンク(ポインター)を作成することによって行われます。sites-enabled
へのディレクトリ ディレクトリ。 - より保守しやすいコードを作成するには、標準の命名規則に従うことをお勧めします。たとえば、ドメイン名が
mydomain.com
の場合 次に、構成ファイルの名前を/etc/nginx/sites-available/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>
-