Как работать с несколькими сайтами через сервер FastCGI
Я заинтересован в обслуживании нескольких сайтов.Net с использованием Nginx для внешнего прокси на fastcgi-сервере. Я хотел бы знать, возможно ли поддерживать 2 сайта на одном порту fastcgi-mono-server4 (9000) или же принято создавать порт для каждого сайта? При указании файла веб-приложения, кажется, некуда указать, использовать ли 9000 или 9001, так что я запутался, если вы не можете указать пул процессов fastcgi. Я обнаружил при попытке 2 сайта на Порт 9000 с помощью файла конфигурации веб-приложения с 2 хостами... один и тот же сайт обслуживался на обоих URL.
Спасибо
1 ответ
Да. Fastcgi-mono-server4(mono 3.12.1) может использовать более одного веб-приложения в одном процессе.
Кажется, что fastcgi-mono-server использует только vhost+vport+vpath для соответствия узлу webapp, определенному в файле.webapp.
- Настройте два веб-приложения в другой порт 80 против 81
my_nginx.conf
server {
listen 80;
server_name localhost;
location / {
root /home/test/www;
index index.html Default.aspx;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
}
server {
listen 81;
server_name localhost;
location / {
root /home/test/www2;
index index.html Default.aspx;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
}
- two.webapp
он содержит 2 узла webapp
<apps>
<web-application>
<name>www</name>
<vhost>*</vhost>
<vport>80</vport>
<vpath>/</vpath>
<path>/home/test/www/</path>
<enabled>true</enabled>
</web-application>
<web-application>
<name>www2</name>
<vhost>*</vhost>
<vport>81</vport>
<vpath>/</vpath>
<path>/home/test/www2/</path>
<enabled>true</enabled>
</web-application>
</apps>
Я только что протестировал использование vport, чтобы отличить их, и добился успеха. Я думаю, что использование vhost или vpath или любой комбинации vhost+vport+vpath должно работать.
- запустить сервер fastcgi
прослушивание в 9000 порту.
fastcgi-mono-server4 --appconfigfile=./two.webapp /socket=tcp:127.0.0.1:9000