nginx解决端口问题含配置步骤---反向代理

centos7下安装nginx博客链接:https://blog.csdn.net/qq_41357211/article/details/99694744

nginx配置反向代理步骤,在文章下面

nginx安装在服务器后,例如服务器的域名为 www.luoskr.com, 服务器上启动的项目端口号8082

场景一:

访问项目需要 www.luoskr.com:8082/url

带着端口号,太不优雅了,我们希望能够直接通过域名访问 www.luoskr.com,来调用项目接口。

这种清况下,浏览器默认端口号是80,如何才能把请求转移到8082呢? 我们需要nginx来配置反向代理。

场景二:

一个服务器上绑定了两个以上域名 A:www.luoskra.com , B:www.luoskrb.com  两个域名对应一个ip

想要直接访问域名A:www.luoskra.com,来访问www.luoskra.com:8082 或者 页面1

想要直接访问域名B:www.luoskrb.com,来访问www.luoskrb.com:8083 或者 页面2

(浏览器默认端口为80,nginx默认端口也是80 --> 这是映射的根本)

先来了解nginx

 nginx可以作为web服务器,具备网关必备的功能:

  • 反向代理
  • 负载均衡
  • 动态路由
  • 请求过滤

web服务器分2类:

web应用服务器:tomcat, resin, jetty

web服务器: Apache服务器, Nginx, IIS

区分:web服务器不能解析jsp等页面,只能处理js、css、html等静态资源。
并发:web服务器的并发能力远高于web应用服务器。

nginx作为反向代理

什么是反向代理?

  • 代理:通过客户机的配置,实现让一台服务器代理客户机,客户的所有请求都交给代理服务器处理。
  • 反向代理:用一台服务器,代理真实服务器,用户访问时,不再是访问真实服务器,而是代理服务器。

利用反向代理,就可以解决前面列举的端口问题

nginx配置反向代理server

在最上面centos7下安装nginx博客链接第四步骤中,指定安装到了 /opt/nginx 目录 下,则切换到该安装目录下,进入到nginx的conf目录下,

vim nginx.conf 修改nginx配置文件

[root@localhost conf]# cd /opt/nginx
[root@localhost nginx]# ls
client_body_temp  conf  fastcgi_temp  html  logs  proxy_temp  scgi_temp  uwsgi_temp
[root@localhost nginx]# cd conf
[root@localhost conf]# ls
fastcgi.conf          fastcgi_params.default  mime.types          nginx.conf.default   uwsgi_params
fastcgi.conf.default  koi-utf                 mime.types.default  scgi_params          uwsgi_params.default
fastcgi_params        koi-win                 nginx.conf          scgi_params.default  win-utf
[root@localhost conf]# vim nginx.conf

 nginx.conf配置文件解读

server部分解读

 以下为删除注释后的 nginx.conf内容, 配置很简单,只需添加内容中 http{ }里面的 server, 便可完成映射

 其余都是一些默认基本配置,不用修改即可,server部分代码含义见上图。

nginx默认占用80端口,可以配置同时占用多个端口;listen几个端口,就占用几个端口

以下为最开始 场景一,场景二配置文件内容  (浏览器默认端口为80,nginx默认端口也是80 --> 这是映射的根本)

server中 location配置为 / 代表映射一切请求路径url,

配置完成后,浏览器访问www.luoskra.com/url  会自动映射到 http://www.luoskra.com:8082/url

worker_processes  1;
events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;    
    server {  
        listen 80;                                      
        server_name www.luoskra.com;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        location / {
            proxy_pass http://www.luoskra.com:8082;
            proxy_connect_timeout 600;
            proxy_read_timeout 600; 
        } 
    }
    server {

        listen 80;
        server_name www.luoskrb.com;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        location / {
            proxy_pass http://www.luoskrb.com:8083;
            proxy_connect_timeout 600;
            proxy_read_timeout 600;
        }
    }
    server {
        listen 80;
        server_name localhost;

        location / {
            root html;
            index index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值