複数のWebサイトをホストするためにNginxで仮想ホストを作成するには、サーバーブロックをセットアップする必要があります。サーバーブロックは、NginxのApacheの仮想ホストに相当するものであり、単一のサーバーで複数のWebサイトをホストすることができます。これがそれを行う方法です:
サーバーブロックファイルの作成:ホストするWebサイトごとに、通常、 /etc/nginx/sites-available/
内に新しいサーバーブロックファイルを作成します。たとえば、 example.com
をホストする場合は、 example.com.conf
という名前のファイルを作成できます。
<code class="nginx">server { listen 80; listen [::]:80; server_name example.com www.example.com; root /var/www/example.com; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } }</code>
サーバーブロックを有効にする:新しいサーバーブロックを有効にするには、 /etc/nginx/sites-enabled/
/etc/nginx/sites-available/example.com.conf
example.com.confから/ets/ets/sites-enabled/からシンボリックリンクを作成します。
<code class="bash">sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/</code>
NGINXをテストおよびリロードする:変更を適用する前に、構成をテストして、構文エラーがないことを確認します。
<code class="bash">sudo nginx -t</code>
テストが合格した場合、nginxをリロードして新しい構成を適用します。
<code class="bash">sudo systemctl reload nginx</code>
単一のサーバーで複数のWebサイトをホストするようにNginxを構成するプロセスには、各Webサイトのサーバーブロックを作成し、効率的に管理することが含まれます。詳細なステップバイステッププロセスは次のとおりです。
nginxのインストール:nginxがサーバーにインストールされていることを確認してください。 ubuntuでは、以下を使用してインストールできます。
<code class="bash">sudo apt-get update sudo apt-get install nginx</code>
/etc/nginx/sites-available/
で構成ファイルを作成します。前の回答で提供されているテンプレートを使用し、各Webサイトに必要に応じてカスタマイズします。/var/www/example.com
など)のディレクトリを作成し、これらのディレクトリにファイルが配置されていることを確認します。sites-available
ディレクトリから各サーバーブロックのsites-enabled
ディレクトリへのシンボリックリンクを作成します。SSL証明書の設定(オプション) :HTTPSの場合、SSL証明書を設定し、サーバーブロックを更新してSSL構成を含めます。
<code class="nginx">listen 443 ssl; ssl_certificate /etc/ssl/certs/example.com.crt; ssl_certificate_key /etc/ssl/private/example.com.key;</code>
nginx -t
で構成を常にテストし、 systemctl reload nginx
リロードしてください。はい、単一のnginxインストールを使用して、さまざまなドメインを提供できます。これは、それぞれが異なるドメインに対応する複数のサーバーブロックを構成することによって行われます。これを達成する方法は次のとおりです。
/etc/nginx/sites-available/
に個別のサーバーブロックファイルを作成します。サーバーブロックをドメインごとに区別します。Server_Name server_name
を使用して、サーバーブロックが応答するドメインを指定します。例えば:
<code class="nginx">server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1.com; index index.html; location / { try_files $uri $uri/ =404; } } server { listen 80; server_name domain2.com www.domain2.com; root /var/www/domain2.com; index index.html; location / { try_files $uri $uri/ =404; } }</code>
Nginxでの仮想ホスト構成の管理とトラブルシューティングには、いくつかのベストプラクティスとツールが含まれます。パフォーマンスを最適化し、問題をトラブルシューティングする方法は次のとおりです。
ロギング:Nginxのアクセスとエラーログを使用して、問題を監視およびトラブルシューティングします。アクセスログはリクエストを追跡するのに役立ち、エラーログは構成の問題やサーバーエラーを識別するのに役立ちます。
<code class="nginx">access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;</code>
nginx -t
を使用してNginx構成を定期的にテストして、nginxをリロードまたは再起動する前に構文エラーをキャッチします。パフォーマンスの最適化:
GZIP圧縮を有効にする:帯域幅の使用を減らすためにファイルを圧縮します。
<code class="nginx">gzip on; gzip_types text/plain application/xml application/json;</code>
キャッシュのセットアップ:Nginxキャッシングを使用してサーバーの負荷を減らし、応答時間を改善します。
<code class="nginx">proxy_cache_path /etc/nginx/cache keys_zone=my_cache:10m; server { ... location / { proxy_pass http://backend; proxy_cache my_cache; proxy_cache_valid 200 1d; } }</code>
サーバー設定の最適化:ワーカープロセスと接続を調整して、サーバーリソースを最適化します。
<code class="nginx">worker_processes auto; events { worker_connections 1024; }</code>
トラブルシューティング:
curl
またはブラウザ開発者ツールを使用します:Webサイトの機能をテストし、負荷時間を測定します。NGINXステータスページ:ステータスページを設定して、NGINXのパフォーマンスをリアルタイムで監視します。
<code class="nginx">location /nginx_status { stub_status on; access_log off; allow 127.0.0.1; deny all; }</code>
これらのプラクティスに従うことにより、単一のサーバーで複数のWebサイトをホストするために、NGINX構成を効果的に管理、最適化、およびトラブルシューティングできます。
以上が複数のWebサイトのNginxで仮想ホストを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。