複数のURLにさまざまなリソースを提供するようにnginxを設定する方法

複数のURLにさまざまなリソースを提供するようにnginxを設定する方法

Nginxを使用して複数のドメインを設定する方法を示すいくつかの例に触れましたが、私のURLはWebページのドメインとは異なるリソースを提供します。

これらのシナリオ間で構成要件に違いはありますか?

答え1

Nginxには各ドメインの設定があります。私が提案したようにデフォルト設定をコピーし、たとえばドメインのパラメータ(サーバーブロック)を変更します。

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/yourdomain.com

次に、新しい設定を開き、パラメータを設定します。

server {
 listen 80 default_server;
 listen [::]:80 default_server ipv6only=on; root /usr/share/nginx/html;
 index index.html index.htm; 
server_name localhost;
 location / { try_files $uri $uri/ =404; 
} 
}

Root is your directory
root /var/www/yourdomain.com/html;

Each statement need end with ;

Servername is your domain name
server_name your domain.com www.yourdomain.com;

最後に、サーバーブロックリンクを設定してnginxを再起動する必要があります。

sudo ln -s /etc/nginx/sites-available/yourdomain.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/secounddomain.com /etc/nginx/sites-enabled/

単純にシンボリックリンクを削除して、デフォルトのサーバーブロックファイルを無効にすることができます。参照用にサイト使用可能ディレクトリでまだ使用できますが、Nginxは起動時にそれを読みません。

sudo rm /etc/nginx/sites-enabled/default 

また、デフォルトのNginx構成ファイルの設定をすばやく調整する必要があります。開くには、次のコマンドを入力します。

sudo nano /etc/nginx/nginx.conf 

1行のコメントを外すだけです。このコメントを見つけて削除してください。

server_names_hash_bucket_size 64; 

これで、Nginxを再起動して変更を有効にする準備が整いました。次のように入力してこれを実行できます。

sudo service nginx restart

最後に、オペレーティングシステムでホスト名を設定する必要があります。

sudo nano /etc/hosts
127.0.0.1 localhost 
127.0.0.1 guest-desktop 
111.111.111.111 yourdomain.com
 111.111.111.111 secounddomain.com

ブラウザでドメイン名をテストしてください。 http://yourdomain.com 問題が発生した場合は、nginxログを確認してエラーまたは起動ログを送信してください。

関連情報