nginx的配置
以下是关于nginx的各种配置(主要是可能需要修改的部分)。由于这是我很久之前的备忘录,所以可能有点过时。
# vim /etc/nginx/nginx.conf
用户
运行nginx进程的用户。
user nginx;
工作进程
如果您使用Nginx作为Web服务器,设置服务器核心数是个不错的选择。如果您希望保留一些资源,您可以考虑设置服务器核心数减1。
worker_processes 3;
工人连接
每个进程的最大连接数。另外可指定使用 epoll。根据Linux2.6版本开始,epoll被推荐使用。
events {
worker_connections 1024;
use epoll;
}
客户端最大请求体大小
nginx可以接收的最大POST大小(未设置为1MB)
通常1MB是足够的,但例如在作为Git服务器时,需对其进行设置以接受大量提交文件。
#建议同时设置client_body_buffer_size。
http {
client_max_body_size 100m;
client_body_buffer_size 256k;
}
TCP 无推送
是否合并发送响应头和文件内容?开启此选项可以减少数据包数量。
http {
tcp_nopush on;
}
保持连接超时时间
这是保持连接的超时时间。
http {
keepalive_timeout 120;
}
其他各种各样的东西
内容的gzip压缩设置,反向代理设置等等。抱歉,我的解释可能不太准确。m(_ _)m
http {
gzip on;
gzip_comp_level 1;
gzip_disable "MSIE [1-6]\.";
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_min_length 1024;
gzip_proxied any;
gzip_vary on;
gzip_types text/plain
text/xml
text/css
text/javascript
application/xml
application/xhtml+xml
application/rss+xml
application/atom_xml
application/javascript
application/x-javascript
application/x-httpd-php;
proxy_buffering on;
proxy_buffer_size 64k;
proxy_buffers 16 64k;
proxy_cache_path /var/cache/nginx/proxy_temp levels=1:2
keys_zone=czone:15m max_size=512m inactive=7d;
proxy_temp_path /var/tmp/nginx 1 2;
proxy_cache_valid 200 302 2h;
proxy_cache_valid 301 4h;
proxy_cache_valid any 1m;
proxy_cache_use_stale error timeout invalid_header updating
http_500 http_502 http_503 http_504;
}
另外,确认/var/cache/nginx/proxy_temp等路径是否存在,并检查写入权限等。如果不存在,则创建。修改设置后,请检查配置文件并重新启动。
# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
# service nginx restart