Nginx 优化技巧

nginx.conf

# CPU核心数:建议与CPU核心数(grep ^processor /proc/cpuinfo | wc -l)保持一致,
worker_processes  8;

error_log  /mnt/nginx/error.log;
pid        /mnt/nginx/nginx.pid;

# 每个进程的最大文件打开数:建议与ulimit -n保持一致,通过ulimit -SHn 65535设置
worker_rlimit_nofile 65535;
events {
    # 使用epoll内核模型
    use epoll;
    # 单个工作进程可以允许同时建立外部连接的数量
    worker_connections  20480;
    # 一个时刻内可以接收多个新的连接
    multi_accept on;
}

http {
    include       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 $request_time $upstream_response_time $upstream_addr $upstream_status';
    access_log  /mnt/nginx/access.log  main;
	
    # 域名散列表大小
    server_names_hash_bucket_size 128;

    # 提高 Nginx 静态资源托管效率
    sendfile on;
    # 数据包累计到一定大小之后发送,减小了额外开销,提高网络效率
    tcp_nopush on;
    keepalive_timeout 65;
    # 禁用 Nagle 算法,尽快发送数据
    tcp_nodelay on;
	
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 500m;
    client_body_buffer_size 10m;

    proxy_connect_timeout 5s;
    proxy_send_timeout 120s;
    proxy_read_timeout 120s;
    proxy_buffer_size 16k;
    proxy_buffers 4 64k;
    proxy_busy_buffers_size 128k;
    proxy_temp_file_write_size 128k;
    proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;

    # 是否开启压缩功能
    gzip on;
    # 允许压缩的页面最小字节数:建议设置成大于1K,如果小于1K没有意义。
    gzip_min_length 1k;
    # 压缩缓存区大小:压缩在内存中缓冲几块? 每块多大?
    gzip_buffers 4 32k;
    # 压缩的http协议版本:可以不设置,目前几乎全是1.1协议
    gzip_http_version 1.1;
    # 对哪些类型的文件用压缩
    gzip_types
	text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
	text/javascript application/javascript application/x-javascript
	text/x-json application/json application/x-web-app-manifest+json
	text/css text/plain text/x-component
	font/opentype application/x-font-ttf application/vnd.ms-fontobject
    image/x-icon;
    # 是否传输gzip压缩标志
    gzip_vary on;
    # 配置禁用gzip条件:正则匹配UA,此处表示ie6及以下不启用gzip(因为ie低版本不支持)
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    # 压缩级别:推荐6,级别越高压的越小,越浪费CPU计算资源
    gzip_comp_level 6;

    include conf.d/*.conf;
}
消息盒子

# 暂无消息 #

只显示最新10条未读和已读信息