中间件-Nginx
一、nginx反向代理
跳转:
将某个指定的域名代理到指定的服务
http://xxx.com 转 http://localhost:8383
1.修改hosts文件
C:\Windows\System32\drivers\etc
hosts文件 最后一行加上 127.0.0.1 xxx.com
这样就将xxx.com直接解析到127.0.0.1
2.修改nginx.conf
需下载安装nginx,windows下安装
设置负载均衡,下面跳转路径指向这里:
upstream server-lb {
server 127.0.0.1:8383;
#server 127.0.0.1:8181;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
#proxy_pass http://127.0.0.1:8383;
proxy_pass http://server-lb;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
index index.html index.htm;
}
}
---》监听本地127.0.0.1:80的请求,代理到127.0.0.1:8383服务
nginx命令:
start nginx 启动
nginx -s stop 停止
修改配置文件后:
nginx -s reload
3.原理
我们将xxx.com解析到了127.0.0.1,所以当我们访问xxx.com的时候,相当于访问了127.0.0.1:80,
此时被nginx服务器处理,请求被代理到127.0.0.1:8383
二、linux环境,nginx配置和生效
1.查看配置
/nginx/conf/conf.d/ 下
cat nginx.conf
2.修改完配置,重启nginx,不需要重启服务
./nginx -s reload
这里是linux系统的命令,和win系统不一样
3.查看代理日志
/nginx/logs/ 下
三、windowns环境下,用nginx部署前端代码
1.nginx.exe在的文件夹下cmd
2.打开启动nginx
start nginx.exe 如果要关闭,则直接:nginx.exe -s stop
或
nginx.exe 会一直开启着,如果要关闭,则需要杀死进程:taskkill xxxx,但是如果启动失败则可以看到报错信息
3.关闭nginx
nginx.exe -s stop
或
taskkill /fi "imagename eq nginx.EXE" /f
4. 访问地址:http://localhost:9100/xxx/index
补充:
(1)读取/conf/nginx.conf配置文件,因为该配置文件中include xxx..conf 即另外自定义的配置文件,所以会一起读取自定义的xxx..conf中的配置
(2)自定义的xxx.conf配置文件
配置端口号和访问内容
(3)启动报错:
a.端口号被占用
排查问题:
查询所有被占用的端口号:netstat -ano
查询被占用的8500端口号:netstat -ano | findstr “8500”
打开任务管理器:
b.乱码
配置文件中含有中文,这时去修改配置文件后,可能会乱码
解决: