#Nginx配置文件 nginx.conf
# 工作进程数(CPU核心数,双核4线程,可以设置为4)
worker_processes 1;
# 事件模型设置
events {
# 线程连接数 1024
worker_connections 1024;
}
# http设置
http {
# #文件扩展名与文件类型映射表
include mime.types;
# 默认为下载,浏览器访问到未定义的扩展名的时候,就默认为下载该文件;
default_type application/octet-stream;
# 打开目录浏览功能
autoindex on;
# 默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
autoindex_exact_size off;
# 默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器时间
autoindex_localtime on;
# 优化开启搞笑传输文件模式 参数sendfile on 用于开启文件高效传输模式,同时将tcp_nopush on 和tcp_nodelay on 两个指令设置为on,可防止网络及磁盘I/O阻塞,提升Nginx工作效率
sendfile on;
# 是一个请求完成之后还要保持连接多久,不是请求时间多久,目的是保持长连接,减少创建连接过程给系统带来的性能损耗,类似于线程池,数据库连接池。
keepalive_timeout 65;
# upstream 网络数据的接收、处理和转发。
upstream tomcat_server{
server sls-gateway:9528;
}
# upstream test {
# ip_hash;
# server 192.168.0.1;
# server 192.168.0.2;
# }
# server{} 包含在http{}内部,每一个server{}都是一个虚拟主机(站点)
server {
# 监听的端口 9680
listen 9680;
# 定义网站域名,可以写多个,用空格分隔。
server_name localhost;
# 报文大小限制设置
client_max_body_size 2000m;
# location 是在 server 块中配置,根据不同的 URI 使用不同的配置,来处理不同的请求。
location / {
# proxy_set_header 设置请求头
# host的值设置为$host,是指proxy_pass中设置的host值,也就是http://tomcat_server;, 也就是服务器的IP地址。
# $http_host和$host表示的就是原始请求host
proxy_set_header Host $host;
# 是指客户端的真实IP,如果设置了$remote_addr这个值,后端服务器就能获取到客户端的真实IP
# 记录真实发出请求的客户端IP
proxy_set_header X-Real-IP $remote_addr ;
# 重定向到客户端原始ip。
proxy_set_header X-Forwarded-For $host;
# 具体到指向那个服务 server sls-gateway:9528;
proxy_pass http://tomcat_server;
}
location ~ /user_image/.*\.(jpg|jpeg|png|gif|p12)$ {
# 路由到 sls-gateway:9528;
proxy_pass http://tomcat_server;
}
location ^~/user_image/ {
# 访问图片时 设置root根目录 /slsweb
root /slsweb;
# 打开目录浏览功能
autoindex on;
}
location ~.*\.(html|css|gif|jpeg|png|bmp|swf|js|jpg|ttf|woff|woff2|json|properties|mp4)$ {
# 访问上述资源时.设置根目录 /slsweb/dist
root /slsweb/dist;
}
# 错误,异常页面配置
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}