当你看到本页面的时候,我知道你是在准备配置一个Nginx反响代理,这里我先给你讲解一下吧。

我想让请求www.baidu.com/Hello -> 127.0.0.1:9000,我们的配置是(注意/ ^ ~ 空格哦)

# 前缀是 ^~ /XXX/,如果是直接访问直接一个^~ /即可
# proxy_pass 最后一个/

    location ^~ /Hello/ { 
    	    proxy_pass http://roomServerAPI:9000/;
    }
# Nginx 配置文件已经引用了本文件 *.conf代表所有.conf后缀的文件
# include /home/java/nginx_confs/*.conf;

# 指定的负载均衡 采用权重的方式
upstream loginServerAPI {
	server 127.0.0.1:18080  weight=1;
	server 127.0.0.1:9000  weight=10;
}

upstream roomServerAPI {
	server 127.0.0.1:18085  weight=1;
	server 127.0.0.1:9001  weight=10;
}

upstream shopServerAPI {
	server 127.0.0.1:18081  weight=1;
	server 127.0.0.1:9002  weight=10;
}

upstream firendcircleServerAPI {
	server 127.0.0.1:18083  weight=1;
	server 127.0.0.1:9003  weight=10;
}

upstream friendServerAPI {
	server 127.0.0.1:18082  weight=1;
	server 127.0.0.1:9004  weight=10;
}

upstream areaServerAPI {
	server 127.0.0.1:18084  weight=1;
	server 127.0.0.1:9005  weight=10;
}

# 让80端口,根据不同的请求路径,访问不同的接口!
server
{
    listen 80;
    # server_name可以重复,但是server_name+端口不能重复。
    server_name IP地址或域名;
    
    location ^~ /login/ {
    	    proxy_pass http://loginServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
        
    location ^~ /room/ {
    	    proxy_pass http://roomServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
        
    location ^~ /shop/ {
    	    proxy_pass http://shopServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
        
    location ^~ /firendcircle/ {
    	    proxy_pass http://firendcircleServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
        
    location ^~ /firend/ {
    	    proxy_pass http://friendServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
        
    location ^~ /area/ {
    	    proxy_pass http://areaServerAPI/;
    	    proxy_set_header Host $proxy_host; # 修改转发请求头,让8080端口的应用可以受到真实的请求
    	    proxy_set_header X-Real-IP $remote_addr;
    	    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
    # 指定请求状态码 跳转指定页面
    error_page 500 502 503 504 404 /404.html;
    
    # 定义自己的404页面
    location = /404.html {
         root  /home/java/nginx_html;
         # 有了这个autoindex on就可以自动识别下面的图片了
         autoindex on;
    }

    # 放行所有的静态资源从下面找
    location ~.*\.(jpg|jepg|gif|css|png|ico|js|ico)?$ {
    	    # 跳转自己的错误页面特面
         root /home/java/nginx_html/;   
         # 有了这个autoindex on就可以自动识别下面的图片了
         autoindex on;
    }

    # 错误日志一定要去查看是否有效哈最好提前准备好文件夹
    access_log  /home/java/nginx_logs/java_login.log;
    error_log   /home/java/nginx_logs/java_login.log;
}

如果自己需要使用,请先阅读一下此配置

更变自己的server_name 和 端口

然后需要重启Nginx。重载Nginx配置文件不建议使用,但是可以用来检测配置文件是否有错误。

切记不要修改本地配置文件,就重载或者重启线上Nginx。一定要去修改线上的配置文件!

特殊说明:
上述文章均是作者实际操作后产出。烦请各位,请勿直接盗用!转载记得标注原文链接:www.zanglikun.com
第三方平台不会及时更新本文最新内容。如果发现本文资料不全,可访问本人的Java博客搜索:标题关键字。以获取全部资料 ❤