ホームページ >運用・保守 >Nginx >複数のWebサイトのNginxで仮想ホストを作成するにはどうすればよいですか?

複数のWebサイトのNginxで仮想ホストを作成するにはどうすればよいですか?

百草
百草オリジナル
2025-03-14 16:15:28812ブラウズ

複数のWebサイトのNginxで仮想ホストを作成するにはどうすればよいですか?

複数のWebサイトをホストするためにNginxで仮想ホストを作成するには、サーバーブロックをセットアップする必要があります。サーバーブロックは、NginxのApacheの仮想ホストに相当するものであり、単一のサーバーで複数のWebサイトをホストすることができます。これがそれを行う方法です:

  1. 構成をバックアップする:潜在的な問題を回避するために、現在のNGINX構成をバックアップすることから常に始めてください。
  2. サーバーブロックファイルの作成:ホストする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>
  3. サーバーブロックを有効にする:新しいサーバーブロックを有効にするには、 /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>
  4. NGINXをテストおよびリロードする:変更を適用する前に、構成をテストして、構文エラーがないことを確認します。

     <code class="bash">sudo nginx -t</code>

    テストが合格した場合、nginxをリロードして新しい構成を適用します。

     <code class="bash">sudo systemctl reload nginx</code>

単一のサーバーで複数のWebサイトをホストするようにNginxを構成するプロセスは何ですか?

単一のサーバーで複数のWebサイトをホストするようにNginxを構成するプロセスには、各Webサイトのサーバーブロックを作成し、効率的に管理することが含まれます。詳細なステップバイステッププロセスは次のとおりです。

  1. nginxのインストール:nginxがサーバーにインストールされていることを確認してください。 ubuntuでは、以下を使用してインストールできます。

     <code class="bash">sudo apt-get update sudo apt-get install nginx</code>
  2. サーバーブロック構成の作成:各Webサイトで、 /etc/nginx/sites-available/で構成ファイルを作成します。前の回答で提供されているテンプレートを使用し、各Webサイトに必要に応じてカスタマイズします。
  3. ドキュメントルーツの設定:各Webサイトのファイル( /var/www/example.comなど)のディレクトリを作成し、これらのディレクトリにファイルが配置されていることを確認します。
  4. サーバーブロックを有効にします。以前の回答で説明されているように、[サーバー]ブロック: sites-availableディレクトリから各サーバーブロックのsites-enabledディレクトリへのシンボリックリンクを作成します。
  5. DNSの構成:各ドメインのDNSレコードがサーバーのIPアドレスを指すことを確認してください。
  6. 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>
  7. 変更をテストして適用しますnginx -tで構成を常にテストし、 systemctl reload nginxリロードしてください。

単一のnginxインストールを使用してさまざまなドメインを提供できますか?

はい、単一のnginxインストールを使用して、さまざまなドメインを提供できます。これは、それぞれが異なるドメインに対応する複数のサーバーブロックを構成することによって行われます。これを達成する方法は次のとおりです。

  1. 個別のサーバーブロックを作成します。各ドメインに対して、 /etc/nginx/sites-available/に個別のサーバーブロックファイルを作成します。
  2. サーバーブロックをドメインごとに区別します。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>
  3. 有効化とテスト:シンボリックリンクを作成して、これらのサーバーブロックを有効にし、構成をテストし、nginxをリロードして変更を適用します。

NGINXの仮想ホスト構成を最適なパフォーマンスのために管理およびトラブルシューティングするにはどうすればよいですか?

Nginxでの仮想ホスト構成の管理とトラブルシューティングには、いくつかのベストプラクティスとツールが含まれます。パフォーマンスを最適化し、問題をトラブルシューティングする方法は次のとおりです。

  1. ロギング:Nginxのアクセスとエラーログを使用して、問題を監視およびトラブルシューティングします。アクセスログはリクエストを追跡するのに役立ち、エラーログは構成の問題やサーバーエラーを識別するのに役立ちます。

     <code class="nginx">access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;</code>
  2. 構成のテストnginx -tを使用してNginx構成を定期的にテストして、nginxをリロードまたは再起動する前に構文エラーをキャッチします。
  3. パフォーマンスの最適化

    • 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>
  4. トラブルシューティング

    • ログを確認してください:ログを確認して、エラーまたは異常なパターンを識別します。
    • 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。