Nginxの「enginex」と発音されるのは、インターネット上で最大のサイトのいくつかの負荷を処理する、オープンソースの高性能HTTPおよびリバースプロキシサーバーです。スタンドアロンのウェブサーバー、ロードバランサー、コンテンツキャッシュ、HTTPサーバーと非HTTPサーバーのリバースプロキシとして使用できます。
Apacheと比較して、Nginxは非常に多くの同時接続を処理でき、接続あたりのメモリフットプリントが小さくなります。
このチュートリアルでは、CentOS8にNginxをインストールして管理する方法について説明します。
前提条件#
続行する前に、sudo権限を持つユーザーとしてログインしていること、およびポート80または443でApacheまたはその他のプロセスが実行されていないことを確認してください。
CentOS 8へのNginxのインストール#
CentOS 8以降、NginxパッケージはデフォルトのCentOSリポジトリで利用できます。
CentOS 8へのNginxのインストールは、次のように入力するだけです。
sudo yum install nginx
インストールが完了したら、次のコマンドでNginxサービスを有効にして開始します。
sudo systemctl enable nginx
sudo systemctl start 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 Sun 2019-10-06 18:35:55 UTC; 17min ago
...
ファイアウォールの調整#
FirewallDisCentos8のデフォルトのファイアウォールソリューション。
インストール中に、NginxはHTTP(80
)へのアクセスを許可するための事前定義されたルールを使用してfirewalldサービスファイルを作成します )およびHTTPS(443
)ポート。
次のコマンドを使用して、必要なポートを永続的に開きます。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
これで、http://YOUR_IP
を開くことで、Nginxのインストールをテストできます。 Webブラウザで。次の画像のようなデフォルトのNginxウェルカムページが表示されます。
Nginx構成ファイルの構造とベストプラクティス#
- すべてのNginx構成ファイルは
/etc/nginx/
にあります ディレクトリ。 - メインのNginx構成ファイルは
/etc/nginx/nginx.conf
です。 。 - ドメインごとに個別の構成ファイルを作成すると、サーバーの保守が容易になります。
- Nginxサーバーのブロックファイルは
.conf
で終わる必要があります/etc/nginx/conf.d
に保存されます ディレクトリ。サーバーブロックはいくつでも持つことができます。 - 標準の命名規則に従うことをお勧めします。たとえば、ドメイン名が
mydomain.com
の場合 次に、構成ファイルの名前をmydomain.com.conf
にする必要があります。 - ドメインサーバーブロックで繰り返し可能な構成セグメントを使用する場合は、それらのセグメントをスニペットにリファクタリングすることをお勧めします。
- 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
-