每天运行一次有140 000页面浏览量的服务器(分析)。 php-fpm进程每个大约10-12M 服务器有10G内存,mysql适用于1.2G-1.6G
配置如下所示:
nginx
user nginx;
worker_processes 4;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log /var/log/nginx/access.log main;
access_log off;
sendfile on;
#tcp_nopush on;
keepalive_timeout 10;
client_max_body_size 20M;
server_tokens off;
include /etc/nginx/conf.d/*.conf;
}
像这样的php-fpm:
listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1
user = webadmin
group = webadmin
pm = dynamic
pm.max_children = 900
pm.start_servers = 900
pm.min_spare_servers = 200
pm.max_spare_servers = 900
pm.max_requests = 500
chdir = /
通常情况下,服务器可以和500个并发用户一起运行(再次,用于获得此估算的实时谷歌分析),但在用户数量不多的情况下(75-100个并发用户)停止运行。
配置由我信任的ISP完成,但我仍然想知道配置是否合理。
答案 0 :(得分:0)
我不是说这是最好的设置,但它适用于我们。
我使用nginx设置更新的一些内容是:
worker_connections ,我相信浏览器会为每个请求打开两个连接,因此从技术上讲,每个请求在技术上不会有1024个可用连接,因此可能会将其更改为2048。
我还将错误日志文件参数更改为“info”,因为您已经考虑了保持I / O较低的写入时间,因此我将其从“警告”更改为“信息”
如果您希望保留访问日志,可能会减少日志,并添加。
可能值得查看你的主nginx.conf以及你可能会被这个文件覆盖并被设置回默认值。
我从一个大清单中做了两件小事,但是这篇文章很棒 - link