Nginx-负载平衡在Windows上返回404

时间:2018-10-09 10:28:35

标签: node.js windows nginx load-balancing

我已经从here安装了Windows版Nginx(64位),因为official二进制文件是32位的。目的是使用Nginx来平衡NodeJS应用程序的负载。我正在按照here的说明进行操作,其中还存在用于示例基本配置文件的link

以下配置文件在通过Ubuntu PPA安装了nginx的Linux上成功运行。服务器本身是通过pm2启动的。

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

upstream top_servers {
    # Use IP Hash for session persistence
    ip_hash;

    # Least connected algorithm
    least_conn;

    # List of Node.JS Application Servers
    server 127.0.0.1:3001;      
    server 127.0.0.1:3002;     
    server 127.0.0.1:3003;      
    server 127.0.0.1:3004;      
}

server {
    listen 80;

    server_name ip.address;

    location /topserver/ {
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   Host      $http_host;
        proxy_pass         http://top_servers;
        proxy_set_header   X-Request-Id $request_id;
    } 
}

但是,此文件不适用于Windows。我在Windows上Nginx安装的html文件夹下收到“没有这样的文件或目录”的错误消息。对于Linux,我尚未进行任何此类设置。

您能帮我转换上述Windows配置文件吗?

注意:我别无选择-Windows是该项目的必需项。

1 个答案:

答案 0 :(得分:0)

因此,我用上面显示的内容重写了conf/nginx.conf的内容。首先,我得到一个错误"map" directive is not allowed here。然后,删除该指令后,我又收到另一个错误,称为"upstream" directive is not allowed here"。我认为,我使用的二进制文件不支持负载平衡。