1.windows启动 直接nginx.exe
在资源管理器看到进程就行了 没有持续的黑框框(之前我一直以为没启动 但是试一下可以访问) 可以到logs下看日志
2.nginx启动
这个待会写
3.配置转发路径
这个是看这个博客看到的 亲测有用
Nginx配置proxy_pass转发的/路径问题 - 风与叶子 - 博客园
proxy加上了/没头 不加/就有头
比如我访问
http://localhost:10602/TRSSMAS_HGQB/operaterCSV/searchData?createOrUpdate=0
经过nginx转发后就会访问
http://localhost:8018/netInsight/operaterCSV/searchData?createOrUpdate=0
server {
listen 10602;
server_name localhost;
location / {
root /home/trs/data/netInsight/dist;#定位到项目的目录
try_files $uri $uri/ /index.html;#根据官网这规则配置
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 600s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 12s; #配置点3
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
index index.html;
}
location /netInsight {
proxy_pass http://localhost:8018;
proxy_redirect off ;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 600s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 12s; #配置点3
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /TRSSMAS_HGQB/ {
proxy_pass http://localhost:8018/netInsight/;
proxy_redirect off ;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 600s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 12s; #配置点3
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
上边是动态访问路径 再看静态文件转发
root和alias都是转发静态文件 但是有区别 root后边接着请求头 但是alias不带请求头
nginx中root和alias的区别 - kris_zhang - 博客园
下边的配置 我访问http://119.000.00.000:10602/TRSSMAS_HGQB/datacollection/hguser1_1473231130880.zip 就会转到
/home/trs/data/netInsight/behind/uploadfile/datacollection/hguser1_1473231130880.zip 在浏览器直接访问就会下载这个zip文件
location /TRSSMAS_HGQB/datacollection/ {
alias /home/trs/data/netInsight/behind/uploadfile/datacollection/;
}
location /TRSSMAS_HGQB/ {
proxy_pass http://localhost:8018/netInsight/;
proxy_redirect off ;
proxy_connect_timeout 4s; #配置点1
proxy_read_timeout 600s; #配置点2,如果没效,可以考虑这个时间配置长一点
proxy_send_timeout 12s; #配置点3
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
请求头前边一样怎么办 然后我下边的配置还有一点 就是可以做到请求/TRSSMAS_HGQB/datacollection/转到静态文件 请求/TRSSMAS_HGQB/转到接口
nginx到底会给你转发的什么路径?可以看logs下边的日志 都有记载 (之前我不知道时候一直在瞎找)
中间还遇到403 看日志时权限不够 就把nginx.conf最上边被注释的user nobody解开改成user root
4.配置文件位置
之前我改了半天nginx.conf都不生效原来是改错文件了
启动时候不是找sbin下的nginx吗,那个是安装时候生成的 所以读的也是安装路径下的nginx.conf
我得安装路径是nginx-conf下
5.nginx负载均衡
a)默认轮询
b)weight设置权重,权重越大服务器被访问几率越大
c)ip_hash 同一个访问ip分给同一台服务器
6.if rewrite server_name
都是查的 没有亲自试
a)if
b)server_name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,匹配到特定的server块,转发到对应的应用服务器中去
nginx配置:server_name的作用_Kevin_K_H_ZHENG的博客-CSDN博客_nginx server_name
c)rewrite重定向
Nginx的rewrite(地址重定向)剖析 - Brian_Zhu - 博客园
7.内置请求变量
比如$host $args
nginx自定义变量与内置预定义变量_tinysakurac的博客-CSDN博客
自定义变量需要 set $变量名 变量值 比如 set $hosttest ''