nginx配置文件注释
user root; #设置nginx权限用户
worker_processes auto; #工作进程:数目。根据硬件调整,通常等于CPU数量或者2倍于CPU。
events {
worker_connections 32768; #没个工作进程的最大连接数量。根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行
multi_accept on; #告诉nginx收到一个新连接通知后接受尽可能多的连接。
}
proxy_cache_path /nginx1.13.2/temp/cache_temp levels=1:2 keys_zone=cache_one:500m inactive=1d max_size=40g; #设置内存缓存空间大小为500MB,1天没有被访问的内容自动清除,硬盘缓存空间大小为40GB。
gzip on; #开启gzip压缩
gzip_comp_level 3; #压缩质量等级,越大压缩的效果越好,但是cpu消耗越高,通常为3即可
gzip_proxied any; #允许或者禁止压缩基于请求和响应的响应流。我们设置为any,意味着将会压缩所有的请求,开启反向代理后需要设置。
gzip_min_length 1k; #设置对数据启用压缩的最少字节数。如果一个请求小于1000字节,我们最好不要压缩它,因为压缩这些小的数据会降低处理此请求的所有进程的速度。
gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png; #设置需要压缩的数据格式,以上为压缩图片格式、css、js和文本
gzip_buffers 32 4k; #设置系统获取几个单位的缓存用于存储gzip的压缩结果数据流。
gzip_disable "MSIE[1-6]\."; #设置IE 1-6版本不压缩
gzip_vary on; #根据客户端的HTTP头来判断,是否需要压缩
upstream gfmh { # 负载均衡服务器设置,设置名字为gfmh
ip_hash; # 基于IPhash的模式访问 如果不设置,默认为轮询模式
server 192.168.1.46:8080 ; #分别对应三台web服务器
server 192.168.1.134:8080 ;
server 192.168.1.134:8080 ;
}
#负载均衡server的配置
server {
listen 8888; #设置监听的端口 生产环境应该为80或者443
server_name 192.1
location /phymcms #反向代理目录
{
proxy_pass http://gfmh; #反向代理到负载均衡上
index index.html index.htm; #默认web文件
proxy_set_header Host $host:$server_port; #传递IP和端口
proxy_set_header X-Real-IP $remote_addr; #传递真实IP地址
proxy_set_header X-Real-port $remote_port; #传递真实端口
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr; #设置http头的地址
#缓存相关配置
proxy_cache cache_one; #设置缓存的目录cache_one
proxy_cache_key $host$request_uri$is_args$args;#设置缓存的key
proxy_cache_valid 200 304 301 302 1h; #设置缓存时间
#持久化连接相关配置
proxy_connect_timeout 30s; #设置连接超时时间
proxy_read_timeout 86400s; #设置超时时间
proxy_send_timeout 30s; #设置超时时间
proxy_http_version 1.1; #设置http版本
proxy_set_header Upgrade $http_upgrade; #设置刷新
proxy_set_header Connection "upgrade"; #设置http刷新头
add_header X-Cache $upstream_cache_status; #设置负载均衡缓存状态头
expires 12h;
}
#反向代理的server配置说明
server {
listen 8081;
server_name 192.168.1.217;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header Access-Control-Allow-Origin *;
location /server-status #开启nginx状态监控
{
stub_status on;
access_log /var/log/nginx/status.access.log;
}
location ^~ /app-api-server/ #反向代理到API服务器
{
proxy_pass http://192.168.1.154:8765/app-api-server/;
}
location / #反向代理到本地80端口
{
proxy_pass http://127.0.0.1:80;
}