O "único" caminho seria:
- isola todos os processos fast-cgi
- encaminhar conexões para eles com o NGINX.
O NGINX pode encaminhar conexões para um pool de servidores mono fastCGI. Você pode executar diferentes processos fastcgi para cada site / aplicativo e modificar sua configuração NGINX para apontar para cada um dos aplicativos, dependendo do vhost ou da URL. Adicionar novos sites requer apenas um recarregamento NGINX - que NÃO recarregará o servidor mono inteiro, apenas as regras internas de encaminhamento do NGINX.
Exemplos de configuração adicionais podem ser encontrados: link
Por referência, estou postando a parte principal: A configuração do Nginx (a partir da versão 0.7.63) está localizada em /etc/nginx/nginx.conf (que contém a configuração http) e em / etc / nginx / sites-available / default (onde está a configuração de host ou hosts virtuais específicos) . Para configurar o aplicativo da Web ASP.NET ou ASP.NET MVC, você precisa modificar a configuração do host virtual.
NGINX bloco de configuração vhost. Este encaminha para um processo fastcgi em execução na porta 9000 do mesmo sistema. Você pode estar usando o 9001 para os segundos aplicativos, etc. Você também pode estar usando servidores dedicados para executar seu aplicativo; nesse caso, o NGINX se torna um balanceador de carga pseudo 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;
}
}
e você controla o 'aplicativo' mono individual com:
fastcgi-mono-server2 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000
Nota: Responda editado algumas vezes para fornecer uma solução adicional e mais precisa.