Назад | Перейти на главную страницу

Как добавить новый веб-сайт в процесс fastcgi-mono-server4 на nginx без перезапуска существующих веб-сайтов?

Я знаю этот может быть связано, но у меня есть сценарий, который загружает fastcgi-mono-server для определенных веб-сайтов в файл конфигурации, и мне нужно добавить новый веб-сайт в пул без перезагрузки всего процесса fastcgi.

Делать

nginx -s reload

Просто перезагрузите конфигурацию каждого сервера (веб-сайта), и мне нужен более плавный процесс, чтобы добавить новый веб-сайт asp.net в текущий рабочий процесс.

Единственный способ:

  • изолировать все процессы fast-cgi
  • пересылать к ним соединения с помощью NGINX.

NGINX может перенаправлять соединения к пулу моносервера fastCGI. Вы можете выполнять разные процессы fastcgi для каждого веб-сайта / приложения и изменять конфигурацию NGINX, чтобы указывать на каждое приложение в зависимости от vhost или URL-адреса. Для добавления новых сайтов потребуется только перезагрузка NGINX - при этом НЕ будет перезагружен весь моно-сервер, а будут только внутренние правила пересылки NGINX.

Дополнительные примеры конфигурации можно найти там: http://www.mono-project.com/FastCGI_Nginx

Для справки я публикую основную часть: конфигурация Nginx (начиная с версии 0.7.63) находится в /etc/nginx/nginx.conf (который содержит конфигурацию http) и в / etc / nginx / sites-available / по умолчанию (где находится конфигурация конкретного виртуального хоста или хостов). Чтобы настроить веб-приложение ASP.NET или ASP.NET MVC, вам необходимо изменить конфигурацию виртуального хоста.

Блок конфигурации виртуального хоста NGINX. Это переадресовывает процесс fastcgi, запущенный на порту 9000 той же системы. Вы можете использовать 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

Примечание. Ответ отредактирован несколько раз, чтобы предоставить дополнительное и более точное решение.