nginxの基本インストールでは、sites-available
フォルダーには次の1つのファイルしかありません。default
フォルダはどのように機能し、sites-available
複数の(個別の)Webサイトをホストするためにどのように使用しますか?
別のアプローチを追加するために、ホストしている仮想ドメインまたはサイトごとに個別のファイルを使用できます。デフォルトのコピーをそれぞれの開始点として使用し、サイトごとにカスタマイズできます。
次に、サイト対応でシンボリックリンクを作成します。このようにして、シンボリックリンクを追加または削除し、サービスnginx reloadを発行するだけで、サイトを上下させることができます。
サイトのメンテナンスを行っているときに、クリエイティブになり、この方法を使用してサイトをメンテナンスモードページにリダイレクトできます。
したがって、構造は次のようになります。
/sites-available/ (you can use obvious file names like this)
|
|-> a.mysite.com
|-> b.mysite.com
|-> someOtherSite.com
/sites-enabled/ (these are just symlinks to the real files in /sites-available)
|
|-> a.mysite.com
|-> b.mysite.com
最初の2つのエントリしかないためsites-enabled
、3番目のエントリsomeOtherSite.com
はオフラインであることに注意してください。
を見ると、ディレクトリ内のすべてのファイルを含むディレクティブnginx.conf
が見つかります。このディレクトリには、構成の一部のオンとオフを切り替えるのに便利なように、からの構成ファイルへのシンボリックリンクが格納されます。include
sites-enabled
sites-available
ご覧のとおり、これらのディレクトリには魔法はありません。
複数のWebサイトをホストする場合は、複数のserver
ブロックやserver_name
ディレクティブを使用する必要があります。公式チュートリアルはこちらです:サーバー名とnginxがリクエストを処理する方法。
使用可能なサイトから有効なサイトへのデフォルトファイルをシンボリックリンクします。次に、使用可能なサイトを変更して、それぞれ異なるserver_nameを持つ2つのサーバーブロックを含めます。以下を参照してください。これは、example.comおよびexample2.comというドメインが必要であることを前提としています。また、@recordsをnginxをインストールしたサーバーのIPアドレスにポイントすることもできます。
利用可能なサイトを有効なサイトにシンボリックリンクします
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
選択したエディターを使用してファイルを編集します(vim for me)
sudo vi /etc/nginx/sites-available/default
ポート4567および4568でWebアプリを実行していると仮定して、nginxconfの動作の内容を次に示します。
server {
server_name www.example.com
location / {
proxy_pass http://localhost:4567/;
}
}
server {
server_name www.example2.com
location {
proxy_pass http://localhost:4568/;
}
}