这是 NGINX 配置文件:
gzip on;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
gzip_proxied any;
open_file_cache max=200000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
access_log off;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 0;
reset_timedout_connection on;
client_body_timeout 10;
...
events {
worker_connections 4000;
}
worker_processes 4;
问题是许多用户无法获取该文件(无法连接/超时)该文件是一条推送消息,发送到桌面应用程序。
因此,我有两个问题:1. 有谁知道 ningx 在 Windows 2008 R2 上支持的最大“worker_connections”是多少?2. 我需要在 Windows 注册表中更改某些内容吗?我找不到要更改的内容和确切的数字。
我不想偏离主题,只是想介绍一下背景。今天我使用 Amazon S3 提供文件,每月花费近 1000 美元。我有一台专用服务器,所以我想省下这笔钱,自己提供文件。如果您知道其他比 S3 更便宜的替代方案,可以发表评论。
谢谢。
答案1
在 Windows 上,nginx 具有重大限制:
- 您只能有 1024 个
worker_connections
。任何更大的数字都将被忽略。即使您启动多个,也只有一个工作器会真正执行任何工作。 - nginx只能使用
select()
;没有高性能的事件处理器。
这就是为什么在 Windows 上使用 nginx 来实现高性能、高可扩展性的环境不是一个好主意的原因。
尽快在非Windows操作系统上切换至nginx。