Nginx For Windows 关于 worker_connections 不生效问题

○、结论

Nginx For Windows 建议使用

http://nginx-win.ecsds.eu/

下载 nginx 1.17.0.1 Crow

一、起因

项目中有一个 API 服务,对客户端通信进行支持,大概 1w 客户端,每分钟都会进行通信。

高峰期的时候服务负载较高,为了防止服务宕机,影响用户,所以增加 Nginx 进行负载。

二、Windows 使用 Nginx

之前在 Linux 中使用 Nginx 并没有什么异常,现在的服务在 Windows Server 服务器上,所以就找 Nginx For Windows 的版本试一试。

nginx for Windows 下载

nginx.conf 完整配置(负载均衡)如下:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024000;
}


http {
    upstream as_server {
        server 127.0.0.1:8901;
        server 127.0.0.1:8902;
    }

    server {
        listen 8099;
        server_name  localhost;
        location / {
            proxy_pass http://as_server;
        }
    }
}

三、worker_connections 坑

运行之后没一会,服务就不响应了,查看错误日志(logs\error.log)之后,发现提示 worker_connections 超出最大值了,但是配置文件里明确配置的 1024000 ,看配置不应该出现此问题。

2019/07/16 21:28:49 [error] 13052#6092: *5451 maximum number of descriptors supported by select() is 1024 while waiting for request, client: 10.73.60.48, server: 0.0.0.0:8099
2019/07/16 21:28:49 [error] 13052#6092: *5454 maximum number of descriptors supported by select() is 1024 while waiting for request, client: 10.72.160.163, server: 0.0.0.0:8099

多番查询后,发现 nginx for windows nginx-1.17.1 版本的 worker_connections 配置是编译在软件里了,如果要改需要重新编译。

四、最终的解决方案

访问以下网址,可查看信息:

http://nginx-win.ecsds.eu/

以下是最新版本下载地址:

nginx 1.17.0.1 Crow

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

于大大大洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值