#定义Nginx运行的用户和用户组
user www www;
#nginx进程数,建议设置为等于CPU总核心数。
worker_processes 1;
#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]
error_log /data/wwwlogs/error_nginx.log crit;
#进程文件
pid logs/nginx.pid;
#一个nginx进程打开的最多文件描述符数目
worker_rlimit_nofile 65535;
#工作模式与连接数上限
events
{
#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD(unix系统)上面,就用kqueue模型。
use epoll;
#单个进程最大连接数(最大连接数=连接数*进程数)
worker_connections 65535;
#multi_accept在Nginx接到一个新连接通知后调用accept()来接受尽量多的连接 。off是关闭
multi_accept on;
}
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; # 客户端头信息缓冲区大小
large_client_header_buffers 64k; #最大客户端头信息缓冲区大小
client_max_body_size 8m; #客户端请求的最大文件大小
sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
autoindex on; #开启目录列表访问
tcp_nopush on; #防止网络阻塞
tcp_nodelay on; #防止网络阻塞
keepalive_timeout 120; #长连接超时时间,单位是秒
#gzip模块设置
gzip on; #开启gzip压缩输出
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区
gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_comp_level 2; #压缩等级
gzip_types text/plain application/x-javascript text/css application/xml;
#压缩类型,默认就已经包含text/html,所以下面就不用再写了
upstream blog.haha.com {
#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
server 192.168.80.121:80 weight=3; #8核 32G 200M带宽
server 192.168.80.122:80 weight=2; #4 16 200M
server 192.168.80.123:80 weight=1; #2 4 200M
}
"""主要记录以下文件服务代码, ----------------------------------------------------------------"""
# 文件服务
server {
listen 2222; # 监听的端口
server_name location;
''' 后台调用代理,访问2222端口后映射到1111端口'''
location /{
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://127.0.0.1:1111;
}
'''
后台调用代理
proxy_pass 代理后面不添加添加一个 "/", 实际代理时如下例:
http://127.0.0.1:2222/back/cert => http://127.0.0.1:8080/back/cert
'''
location /back{
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://127.0.0.1:8080;
}
'''
后台调用代理
proxy_pass 代理后面添加一个 "/", 实际代理时如下例:
http://127.0.0.1:88/wd/cert => http://127.0.0.1:88/cert
且 loaction的路由匹配应该是 /wd/ 而不是 /wd, 否则代理的效果会多了"/" 如下
http://127.0.0.1:88/wd/cert => http://127.0.0.1:88//cert
'''
location /wd/{
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS, PUT';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;
}
proxy_pass http://127.0.0.1:8989/;
}
# 前端门户代理,静态文件的代理
# location /lzqs1{
# alias D:/MySelf/my-script/lzqs1/; # 文件路径,相对路径
# index lzqs1.html;
# }
# 前端门户代理,静态文件的代理
# location /lzqs3/wd{
# alias D:/MySelf/my-script/lzqs3/; # 文件路径,相对路径
# index wd.html;
# }
}
}
Nginx配置浅记说明
最新推荐文章于 2024-08-30 14:11:28 发布