既存の Web サイトを再起動せずに、nginx 上の fastcgi-mono-server4 プロセスに新しい Web サイトを追加するにはどうすればよいですか?

既存の Web サイトを再起動せずに、nginx 上の fastcgi-mono-server4 プロセスに新しい Web サイトを追加するにはどうすればよいですか?

知っているこれ関連しているかもしれませんが、構成ファイルで定義された Web サイトの fastcgi-mono-server をロードするスクリプトがあり、すべての fastcgi プロセスを再ロードせずにプールに新しい Web サイトを追加する必要があります。

やっている

nginx -s reload

各サーバー (Web サイト) の構成を再読み込みするだけで、現在のワーカー プロセスに新しい asp.net Web サイトを追加するためのよりスムーズなプロセスが必要になります。

答え1

「唯一の」方法は次のとおりです。

  • すべての高速CGIプロセスを分離する
  • NGINX を使用して接続を転送します。

NGINX は、接続を fastCGI モノ サーバーのプールに転送できます。各 Web サイト/アプリケーションに対して異なる fastcgi プロセスを実行し、仮想ホストまたは URL に応じて各アプリケーションを指すように NGINX 構成を変更できます。新しいサイトを追加するには、NGINX の再読み込みのみが必要です。モノ サーバー全体が再読み込みされるのではなく、NGINX の内部転送ルールのみが再読み込みされます。

追加の構成例については以下を参照してください。http://www.mono-project.com/FastCGI_Nginx

参考までに、主要部分を投稿します。Nginx 構成 (バージョン 0.7.63 以降) は、/etc/nginx/nginx.conf (http 構成を含む) と /etc/nginx/sites-available/default (特定の仮想ホストまたはホストの構成) にあります。ASP.NET または ASP.NET MVC Web アプリケーションをセットアップするには、仮想ホスト構成を変更する必要があります。

NGINX vhost 構成ブロック。これは、同じシステムのポート 9000 で実行されている fastcgi プロセスに転送されます。2 番目のアプリなどに 9001 を使用することもできます。専用サーバーを使用してアプリケーションを実行することもできます。その場合、NGINX は疑似 HTTP ロード バランサーになります。

server {
     listen   80;
     server_name  www.domain1.xyz;
     access_log   /var/log/nginx/your.domain1.xyz.access.log;

     location / {
             root /var/www/www.domain1.xyz/;
             index index.html index.htm default.aspx Default.aspx;
             fastcgi_index Default.aspx;
             fastcgi_pass 127.0.0.1:9000;
             include /etc/nginx/fastcgi_params;
     }
}

個々のモノラル「アプリケーション」を次のように制御します。

fastcgi-mono-server2 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000

注: 回答は、追加のより正確な解決策を提供するために数回編集されました。

関連情報