欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Nginx 配置文件总结

程序员文章站 2022-06-06 14:10:51
...
# 定义Nginx运行用户
user  root;

# Nginx进程数,设置为auto代表nginx会自己匹配,一般为CPU核心数量
worker_processes  auto;

# 错误日志路径及级别
error_log  logs/error.log notice;

# pid文件存放位置
pid        logs/nginx.pid;

# Nginx最大文件打开数
worker_rlimit_nofile   40960;

events {

#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。
    use   epoll; 

#单个进程最大连接数(最大连接数=连接数*进程数)   
    worker_connections  10240; 

#在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接
    multi_accept on; 
}


http {

# 隐藏nginx版本号
    server_tokens off;   

# 文件扩展名与文件类型映射表
    include       mime.types;
# 默认文件类型
    default_type  application/octet-stream;

# nginx 日志格式
log_format  main    '$remote_addr|$time_local|$request|''$status|$body_bytes_sent|$http_referer|''$http_user_agent|$http_x_forwarded_for|''$upstream_addr|$upstream_status|$request_time|$upstream_response_time';

# 定义access日志,并使用上面定义的format
access_log  logs/access.log  main;


# 请求头部缓存大小
    client_header_buffer_size    4k;

# 请求缓存大小
    large_client_header_buffers  432k;

#允许客户端请求的最大单文件字节数  
    client_max_body_size 500m; 

#缓冲区代理缓冲用户端请求的最大字节数
    client_body_buffer_size 1024k;

#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
    proxy_headers_hash_max_size 51200;
    proxy_headers_hash_bucket_size 6400;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header request_uri $request_uri;
    proxy_set_header Host $host;

#nginx跟后端服务器连接超时时间(代理连接超时)
    proxy_connect_timeout 90;

#后端服务器数据回传时间(代理发送超时)        
    proxy_send_timeout 90;

#连接成功后,后端服务器响应时间(代理接收超时) 
    proxy_read_timeout 90;

#设置代理服务器(nginx)保存用户头信息的缓冲区大小
    proxy_buffer_size 128k;

#proxy_buffers缓冲区,网页平均在32k以下的设置
    proxy_buffers 8128k;

#高负荷下缓冲大小(proxy_buffers*2)
    proxy_busy_buffers_size 256k;

#高负荷下缓冲大小(proxy_buffers*2)
    proxy_temp_file_write_size 256k;
    proxy_temp_path  /usr/local/nginx/proxy_temp;
    proxy_cache_path /usr/local/nginx/proxy_cache levels=1:2 keys_z>100