nginx配置优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置优化相关的知识,希望对你有一定的参考价值。
1配置nginx工作进程的数量(nginx worker)进程数
nginx_processes auto;
2开启nginx利用多核cou
worker_cpu_affinity auto;
3更改worker进程可打开的文件最大数
worker_rlimit_nofile 65535
events模块
1使用epoll模型
use epoll
2设置每个worker进程并发处理的最大连接数
worker_connections 65535
http模块
1隐藏nginx返回的server版本号
server_tokens off
2禁止返回http响应的server头
server_tag off
3关闭server_info
server_info off
4开启高效的文件传输
sendfile on
开启tcp_nopush
tcp_nopush on (sendfile 开始时才有用)一次性传输整个文件
开启 tcp_nodelay
tcp_nodelay on
5设置客户端连接保持会话的超时时间
keepalive_timeout 2
6设置客户端请求头数据超时时间
client_header_timeout 10s
7设置客户端请求超时时间
client_body_timeout 10s
8设置nginx上传文件的大小
client_max_body_size 10m
9设置用户请求头所使用的buffer大小
client_header_buffer_size 32k
large_client_header_buffers 8 64k 过大使用
10开启gzip压缩
gzip on
gzip_min_length 1k;大于1k压缩
gzip_buffers 8 16k;
gzip_http_version 1.0;
gzip_comp_level 3;
gzip_types text/plain application/x-javascript application/javascript text/css application/xml;
gzip_vary on;
日志切割
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent $request_time "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for" ‘
‘$upstream_addr $upstream_response_time $upstream_status‘;
log_format ssl ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent $request_time "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for" ‘
‘$ssl_protocol $ssl_cipher $upstream_addr ‘
‘$upstream_response_time $upstream_status‘;
server里边
11禁止使用代理
if ( $http_user_agent ~* "Yisou|x86_64-redhat-linux-gnu|Red Hat modified|Python-urllib" ) {
return 403;
}
12使用expires缓存
location ~ .*\.(js|css)?$
{
expires 1d;
以上是关于nginx配置优化的主要内容,如果未能解决你的问题,请参考以下文章