Nginx配置文件解析
参考Nginx配置文件详解 很详细
#用户
#user nobody;
worker_processes 1;
#全局错误日志定义类型
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;#进程pid文件
events {
worker_connections 1024;#单个进程最大连接数(最大连接数=连接数*进程数)
keepalive_timeout 60; #keepalive超时时间。
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
client_header_timeout 600;
client_body_timeout 600;
client_max_body_size 20m; #设定通过nginx上传文件的大小
proxy_send_timeout 600;#后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
#连接成功后,后端服务器响应时间(代理接收超时)
#连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(也可以说是后端服务器处理请求的时间)
proxy_read_timeout 600;
#charset utf-8; #默认编码
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"';
#access_log logs/access.log main;
#开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。
#sendfile指令指定 nginx 是否调用sendfile 函数(zero copy 方式)来输出文件,对于普通应用,必须设为on。如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统uptime。
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;#超时时间
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 8;#压缩等级
gzip_types text/plain application/javascript text/css application/json text/javascript image/svg+xml image/png; #压缩类型,默认就已经包含textml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。
gzip_vary off;
#这里可以做负载均衡 可以设置权重
upstream serverA {
server localhost:8080;
server localhost:8081;
}
upstream serverB {
server localhost:8082;
}
#虚拟主机的配置
server {
listen 8000; #监听localhost:8000 匹配location的路径 走代理路径
server_name localhost;
#首页
location = /index.html {
#root /html;
proxy_pass http://serverA/index.html;
}
location = /login.html {
#root /html;
proxy_pass http://serverB/index.html;
}
}