75

nginxの基本インストールでは、sites-availableフォルダーには次の1つのファイルしかありません。default

フォルダはどのように機能し、sites-available複数の(個別の)Webサイトをホストするためにどのように使用しますか?

4

3 に答える 3

90

別のアプローチを追加するために、ホストしている仮想ドメインまたはサイトごとに個別のファイルを使用できます。デフォルトのコピーをそれぞれの開始点として使用し、サイトごとにカスタマイズできます。
次に、サイト対応でシンボリックリンクを作成します。このようにして、シンボリックリンクを追加または削除し、サービス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はオフラインであることに注意してください。

于 2012-07-28T14:44:50.617 に答える
30

を見ると、ディレクトリ内のすべてのファイルを含むディレクティブnginx.confが見つかります。このディレクトリには、構成の一部のオンとオフを切り替えるのに便利なように、からの構成ファイルへのシンボリックリンクが格納されます。includesites-enabledsites-available

ご覧のとおり、これらのディレクトリには魔法はありません。

複数のWebサイトをホストする場合は、複数のserverブロックやserver_nameディレクティブを使用する必要があります。公式チュートリアルはこちらです:サーバー名nginxがリクエストを処理する方法

于 2012-07-27T20:22:40.303 に答える
19

使用可能なサイトから有効なサイトへのデフォルトファイルをシンボリックリンクします。次に、使用可能なサイトを変更して、それぞれ異なる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/;
    }

}
于 2013-10-19T21:22:28.720 に答える