当前位置:Gxlcms > PHP教程 > Nginx配置文件总结

Nginx配置文件总结

时间:2021-07-01 10:21:17 帮助过:48人阅读

# 定义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>100m inactive=1d max_size=10g;

#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来
输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。 sendfile on; #防止网络阻塞 tcp_nopush on; #防止网络阻塞 tcp_nodelay on; #长连接超时时间,单位为秒 keepalive_timeout 30; #gzip模块设置 gzip on; #开启gzip压缩输出 gzip_min_length 1k; #最小压缩文件大小 gzip_buffers 416k; #压缩缓冲区 gzip_comp_level 4; #压缩等级 gzip_proxied any; gzip_types image/jpeg image/png text/plain application/xml application/x-javascript text/javascript text/css; #压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。 gzip_vary on; #限制请求数,除了白名单外的IP每秒最多处理8个请求 limit_req_zone $binary_remote_addr z>20m rate=1r/s; #限制连接数 limit_conn_zone $binary_remote_addr z>20m; #限制连接数,请求数的白名单 geo $white_ip { ranges; default0; #白名单ip-11.1.1.1-1.1.1.21; 1.1.1.1-1.1.1.21; 1.1.1.1-1.1.1.21; 1.1.1.1-1.1.1.21; #白名单ip-21.1.1.1-1.1.1.21; 1.1.1.1-1.1.1.21; } limit_req_whitelist geo_var_name=white_ip geo_var_value=1; #---------------------------------- server { listen 80; server_name *.xxx.net xxx.net *.xxx.com xxx.com *.xxx.cn xxx.cn *.xxx.com *.xxx.com.cn xxx.com.cn; rewrite ^(.*) http://www.xxx.com$1 permanent; } server{ listen 80default; server_name _; return444; } # 加载该目录下的配置 include /usr/local/nginx/conf/vhost/*.conf; # 错误代码(403、404、50x)页面 error_page 403 http://file.xxx.com/assets/errorNew.html; error_page 404 http://cdn1.xxx.com/assets/error.html; error_page 500 502 503 504 http://cdn1.xxx.com/assets/error.html; }

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Nginx 配置文件总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 人气教程排行