¿Cómo agregar un nuevo sitio web a un proceso fastcgi-mono-server4 en nginx sin tener que reiniciar los sitios web existentes?

¿Cómo agregar un nuevo sitio web a un proceso fastcgi-mono-server4 en nginx sin tener que reiniciar los sitios web existentes?

estePuede estar relacionado, pero tengo un script que carga fastcgi-mono-server para sitios web definidos en un archivo de configuración y necesito un nuevo sitio web en el grupo sin tener que volver a cargar todo el proceso fastcgi.

Haciendo

nginx -s reload

Simplemente vuelva a cargar la configuración de cada servidor (sitio web) y necesito un proceso más fluido para agregar un nuevo sitio web asp.net al proceso de trabajo actual.

Respuesta1

La "única" forma sería:

  • aislar todos los procesos cgi rápidos
  • reenviarles conexiones con NGINX.

NGINX puede reenviar conexiones hacia un grupo de servidores mono fastCGI. Puede ejecutar diferentes procesos fastcgi para cada sitio web/aplicación y modificar su configuración de NGINX para que apunte a cada una de las aplicaciones dependiendo del vhost o URL. Agregar nuevos sitios solo requerirá una recarga de NGINX, que NO recargará todo el servidor mono, solo las reglas de reenvío internas de NGINX.

Se pueden encontrar ejemplos de configuración adicionales allí:http://www.mono-project.com/FastCGI_Nginx

Como referencia, estoy publicando la parte principal: la configuración de Nginx (a partir de la versión 0.7.63) se encuentra en /etc/nginx/nginx.conf (que contiene la configuración http) y en /etc/nginx/sites-available/ predeterminado (donde está la configuración de un host o hosts virtuales en particular). Para configurar la aplicación web ASP.NET o ASP.NET MVC, debe modificar la configuración del host virtual.

Bloque de configuración de NGINX vhost. Esto reenvía a un proceso fastcgi que se ejecuta en el puerto 9000 del mismo sistema. Podría utilizar 9001 para las segundas aplicaciones, etc. También podría utilizar servidores dedicados para ejecutar su aplicación; en tal caso, NGINX se convierte en un pseudo equilibrador de carga 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;
     }
}

y usted controla la 'aplicación' mono individual con:

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

Nota: La respuesta se editó varias veces para proporcionar una solución adicional y más precisa.

información relacionada