在nginx文件夹中有nginx.exe的目录下的conf目录下的nginx.conf文件使用文本编辑器打开
具体路径 nginx-1.16.0\conf\nginx.conf
文本编辑器自己从网上下载,推荐使用Notepad++
然后将nginx.conf中默认的内容删除,按照下面写
反向代理有两种模式:
如果服务器没有申请域名,则使用第一种模式,server_name改成服务器域名
如果服务器申请了域名,则可根据自己的情况选择下面两种模式
一、单个服务器,代理多个端口
#nginx进程,一般设置为CPU*cpu核数
worker_processes auto;
events
{
worker_connections 2048; #;单个后台worker process进程的最大并发链接数
}
http
{
include mime.types; #文件扩展名与类型映射表
client_max_body_size 500m;#设定请求缓存
sendfile on;#开启高效传输模式
#连接超时时间,单位是秒
keepalive_timeout 60;
server{
listen 80; #设置监听的端口
server_name www.xxxx.com; #服务器名称,即ip地址,192.168.100.100 这种IP的也可以,当然我们是需要将其设置为外网IP的
#设置代理的其他端口 unit目录不必有
#访问例子:192.168.100.100:80/unit/
location /unit/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_pass http://127.0.0.1:8084/;
}
#访问例子:192.168.100.100:80/test/
location /test/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_pass http://127.0.0.1:8081/;
}
}
}
二、多个域名,多个端口
当前模式下,域名不能重复
#nginx进程,一般设置为CPU*cpu核数
worker_processes auto;
events
{
worker_connections 2048; #;单个后台worker process进程的最大并发链接数
}
http
{
include mime.types; #文件扩展名与类型映射表
client_max_body_size 500m;#设定请求缓存
sendfile on;#开启高效传输模式
#连接超时时间,单位是秒
keepalive_timeout 60;
server{
listen 80;
server_name xxx.test.com;
location /test/ {
proxy_connect_timeout 90;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_pass http://127.0.0.1:8083/;
}
}
server{
listen 80;
server_name xxw.test.com;
location /unit/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_connect_timeout 90;
proxy_send_timeout 180;
proxy_read_timeout 180;
proxy_pass http://127.0.0.1:8084/;
}
}
}
因为我申请了一个一级域名,所以,我可以拥有多个二级域名,所以根据我的情况,我选择第二种模式,多个域名对多个端口,所以,我的配置如下
然后重启nginx就可以了