user web web; #nginx的程序账户和程序组
worker_processes auto; #worker进程数 auto设为默认
error_log /app/logs/nginx/wwwlogs/error_nginx.log crit; #错误日志保存在哪里
pid /var/run/nginx.pid; #进程号
google_perftools_profiles /tmp/tcmalloc; #google_perftools工具优化Nginx和MySQL的内存管理
worker_rlimit_nofile 51200; #nginx worker进程最大打开文件数
events {
use epoll; #使用epoll异步网络IO模型
worker_connections 51200; #每个worker支持的最大连接数
}
http {
log_format main '$host $remote_addr [$time_local] ' #记录日志的格式 $remote_addr客户端IP[$time_local]访问时间
'$status $body_bytes_sent "$http_referer" ' #$status 状态码$body_bytes_sent响应body大小 "$http_referer"请求是从哪个连接来的
'"$http_user_agent" "$http_x_forwarded_for" ' #"$http_user_agent"记录客户端访问信息 如浏览器手机端等 "$http_x_forwarded_for"在有代理的情况下开启
'$upstream_addr "$upstream_cache_status"'; #$upstream_addr "$upstream_cache_status"显示缓存的状态'
include mime.types; #Nginx支持的媒体类型库文件包含
default_type application/octet-stream; #默认的媒体类型
server_names_hash_bucket_size 128; #优化服务器域名的散列表大小定义服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
large_client_header_buffers 4 32k; #设定请求缓存
client_max_body_size 50m; #设定请求缓存
sendfile on; ##开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
tcp_nopush on; #防止网络阻塞 开启sendfile on 才能使用
keepalive_timeout 120; #长连接超时时间,单位是秒
server_tokens off; #隐藏版本信息
tcp_nodelay on; #防止网络阻塞
#以下为fastcgi即php-ftm优化
fastcgi_connect_timeout 300; #nginx服务与后端php服务连接超时时间 不建议设置太高
fastcgi_send_timeout 300; #在规定时间内php后端必须将数据上传至nginx 超时断开连接
fastcgi_read_timeout 300; #nginx从php读取信息的超时时间 是nginx进入后端之中排队的等候处理时间
fastcgi_buffer_size 64k; #这是nginx的fastcgi缓存大小
fastcgi_buffers 4 64k; #从fastcgi服务端收到的响应信息的缓冲区大小和缓冲区数量 4个64K的内存
fastcgi_busy_buffers_size 128k; #用于设定系统很忙时设定的proxy_buffers大小
fastcgi_temp_file_write_size 128k; #fastcgi临时文件的大小
#以下为gzip网页压缩
gzip on; #开启gzip网页压缩
gzip_buffers 16 8k; #申请 16个8k的内存内存作为压缩结果流缓存
gzip_comp_level 6; #压缩等级为6级
gzip_http_version 1.1; #http协议版本1.1
gzip_min_length 256; #设置允许压缩的页面最小字节数
gzip_proxied any; #设置将被gzip压缩的响应的最小长度 any为所有代理请求启用压缩。
gzip_vary on; #让前端缓存服务器经过gzip压缩的页面
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_disable "msie6"; #对具有与任何指定正则表达式匹配的“User-Agent”标头字段的请求禁用gzipping响应。
open_file_cache max=1000 inactive=20s; #最多缓存多少个文件,缓存多少时间
open_file_cache_valid 30s; #在30S中没有使用到这个配置的次数的话就删除
open_file_cache_min_uses 2; #指定不在活动期里最小文件数
open_file_cache_errors on; #指令指定是否在搜索一个文件是记录cache错误.
#以下为nginx反向代理相关配置
proxy_connect_timeout 5;
proxy_read_timeout 60;
proxy_send_timeout 5;
proxy_buffer_size 64k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
proxy_temp_path /app/data/temp_dir;
proxy_cache_path /app/data/cache levels=1:2 keys_zone=cache_one:8g inactive=30d max_size=500g;
include vhost/*.conf;
}