我已经从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是该项目的必需项。
答案 0 :(得分:0)
因此,我用上面显示的内容重写了conf/nginx.conf
的内容。首先,我得到一个错误"map" directive is not allowed here
。然后,删除该指令后,我又收到另一个错误,称为"upstream" directive is not allowed here"
。我认为,我使用的二进制文件不支持负载平衡。