同じマシンから複数のサイトを提供したいと思います。同じサーバから複数のサイト(サブドメイン)を提供するためのnginx設定
各サイトでは、ポートをリッスンしてnginxを使用して、アプリケーションサーバー(uwsgi)と通信し、別のポートをプロキシサーバーとして使用しています。 各サイトはuwsgiとフラスコを使用しています。
すべてのサイトは同じAPI終了点名を共有しているため、唯一の違いはサブドメイン名です。このような
何か:
server {
listen 8000 default_server;
server_name 00.myexample.com;
...
}
# Set cache dir
proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_zone:10m max_size=50m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
# Virtualhost/server configuration
server {
listen 80 default_server;
server_name 00.myexample.com;
location/{
proxy_cache my_zone;
include proxy_params;
proxy_pass http://00.myexample.com:8000;
}
...
}
私はちょうど別のポートに耳を傾けるようにする必要があります(00.myexample.com、01.myexample.com)複数のサイトを複製するように、と思いました。
server_name
で、競合を避けるために十分な別のポート(キャッシュなど)がありますか? uwsgiは各アプリケーションの異なるポートを聴かなければなりませんか? (これは、各サイトのフォルダ内のソケットを介してnginxと通信します)
複数のサブドメインを同じマシンにルーティングするためにどのように設定しますか?
同じサーバーを使用している場合は、各サーバーブロックのproxy_passに同じ値を使用できます。価値観では、同じポートを聞いているのですか?例えば'server {server_name 00 .. location/{proxy_pass http://00.myexample.com:8000; } ..}#and server {server_name 01 .. location/{proxy_pass http:// 01.myexample.com:8000; } ..} '?それはnginxキャッシュと競合しませんか?サーバ名を同じIPマシンにルーティングすることはできますが、異なるポートに割り当てることはできますか?例えば00.example.com XX.XXX.XX.XXX:8000、01.example.com XX.XXX.XX.XXX:7000のドメイン?どのポートが「一般的に」無料ですか? – user305883