Nginx配置文件参数详解
Nginx配置文件详解
user www www; #定义nginx运行的用户和用户组
worker_processes auto; #nginx进程数,建议设置为CPU总核心数,也可以根据服务器性能,设置auto
error_log /var/log/nginx/error.log info; #全局错误日志定义类型,crit 记录内容最少,degug记录内容最多,默认crit [ debug | info | notice | warn | error | crit ]
pid /var/run/nginx.pid; #PID文件,记录当前启动的Nginx进程ID
worker_rlimit_nofile 65535; #单个nginx进程打开的最多文件描述符数目
#工作模式与连接数上限
events {
use epoll; #事件驱动模型的选择, use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]等
worker_connections 131072; #单个worker process进程的最大并发连接数(最大连接数=连接数*进程数)
}
#设定HTTP服务器,利用它的反向代理功能提供负载均衡支持
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"';
charset utf-8; #编码格式
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #客户端请求头部的缓冲区大小
large_client_header_buffers 4 64k; #客户请求头缓冲大小
keepalive_timeout 60; #连接超时时间
sendfile on; #开启高效文件传输模式
tcp_nopush on; #待数据包装满数据发出,解决网络拥塞,配合sendfile使用
tcp_nodelay on; #收到数据包就发出
# 作为文件服务器下载使用,开启目录列表访问
autoindex on; #显示目录
autoindex_exact_size on; #显示文件大小
autoindex_localtime on; #显示文件时间
# FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度
fastcgi_connect_timeout 300; #nginx服务器和后端fasstcgi服务器连接的超时时间
fastcgi_send_timeout 300; #nginx允许fastcgi服务器返回数据的超时时间,在规定时间内后端服务器必须传完所有数据,否则nginx断开连接
fastcgi_read_timeout 300; #nginx从fastcgi服务器读取响应信息的超时时间,表示连接建立成功后,nginx等待后端服务器的响应时间
fastcgi_buffer_size 64k; #nginx fastcgi的缓冲区大小,用来读取从fastcgi服务器收到的第一部分响应信息的缓冲区大小
fastcgi_buffers 4 64k; #设定用来读取从fastcgi服务器收到的响应信息的缓冲区大小和缓冲区数量
fastcgi_busy_buffers_size 128k; #用于设置系统繁忙时可以使用的 proxy_buffers大小
fastcgi_temp_file_write_size 128k; #fastcgi临时文件的大小
upstream bj_backend_server {
#weight 参数代表权重值,权重值越高被分配的几率越大
server 172.17.0.15:80 weight=5;
server 172.17.0.16:80 weight=3;
server 172.17.0.17:80 weight=2;
}
#HTTP服务器
listen 80;
server_name www.acj.com;
#对所有请求进行负载均衡请求
location / {
root /data/app; #定义网站根目录位置
index index.html index.htm; #定义首页索引文件名称
proxy_pass http://bj_backend_server; #请求转向bj_backend_server 定义服务器列表
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
#后端web服务器可以通过X-Forwarded-For获取用户真是IP
proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)
proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)
proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接受超时)
proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 3 32k; #proxy_buffers缓冲区
proxy_busy_buffer_size 64k; #高负荷下缓冲区大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值将从upstream服务器传
client_max_body_size 10m; #允许客户端请求的最大文件字节数
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
}
}
©著作权归作者所有:来自51CTO博客作者Patanis的原创作品,如需转载,请注明出处,否则将追究法律责任更多相关文章
- LDAP/SASL/GSSAPI/Kerberos编程API(5)--krb5应用服务
- Mysql 读写分离、主从复制
- 如何在敏捷项目中管理范围变更?
- 苹果Mac查看多张图片的方法
- 苹果Mac屏幕录制分享软件:Berrycast
- 【产品】星环科技Sophon Edge边缘计算平台持续赋能千家万业
- 刚开始接触苹果Mac,如何认识桌面上的基本功能?
- 详解服务器处理器基础知识
- 详解服务器性能测试基准体系