0

我对使用 Nginx 为 fastcgi-server 的前端代理服务多个 .Net 站点感兴趣。我想知道是否可以在一个 fastcgi-mono-server4 端口(9000)上支持 2 个站点,或者是否可以接受的做法是为每个站点创建一个端口?指定 webapp 文件时,似乎无处指定是使用 9000 还是 9001,所以我很困惑,除非您可以指定 fastcgi 进程池。我在尝试使用具有 2 个主机的 webapp 配置文件在端口 9000 上创建 2 个站点时发现......两个 url 上都提供了同一个站点。

谢谢

4

1 回答 1

0

是的。fastcgi-mono-server4(mono 3.12.1) 可以在单个 proc 中使用多个 webapp。

似乎 fastcgi-mono-server 仅使用 vhost+vport+vpath 来匹配 .webapp 文件中定义的 webapp 节点。

  1. 在不同的端口 80 和 81 中设置两个 webapp

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;
    }
}
  1. 二.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 的任何组合都应该有效。

  1. 启动 fastcgi 服务器

监听 9000 端口。

fastcgi-mono-server4 --appconfigfile=./two.webapp /socket=tcp:127.0.0.1:9000
于 2015-03-17T17:38:11.040 回答