nginx用途——反向代理

1、正常访问服务器,我们需要直接找到服务器地址,然后通过浏览器进行访问如下图所示

2、如果加入nginx之后,我们需要让nginx来代理服务器,也就是说,用户直接请求地址是nginx,而不是服务器,然后nginx再去访问服务器,这样用户就可以拿到服务器的资源了,如下图所示

优点:可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,还可以进行负载均衡(什么是负载均衡),将用户请求分配给多个服务器。

缺点:每一次代理,代理服务器就必须打开两个连接,一个对外,一个对内,因此在并发连接请求数量非常大的时候,代理服务器的负载也就非常大了,在最后代理服务器本身会成为服务的瓶颈。

需求:

启动tomcat,客户端访问nginx,能够访问到tomcat页面。

1、确认服务器上已经安装好jdk和tomcat环境,启动tomcat,端口8080,如图所示

2、配置nginx配置文件

cd /usr/local/nginx/conf/
vi nginx.conf
  upstream tomcat1{
        server 127.0.0.1:8080;
  }
  server {
        listen       81;
        #server_name  www.test.com;
        location / {
            proxy_pass http://tomcat1;
        }
  }

在nginx.conf配置文件中加入以上代码,这样,我们访问 http://172.16.210.10:81/ 即可访问到tomcat,此为nginx代理了tomcat服务器,称之为反向代理。

此处纪录一下server_name的用途,反向代理中可以不配置该项,

server name 为虚拟服务器的识别路径。因此不同的域名会通过请求头中的HOST字段,匹配到特定的server块,转发到对应的应用服务器中去。

我这里做了一个简单的测试,在linux中修改/etc/hosts配置文件,加入

172.16.210.10  www.test.com

保存,然后reboot,不要用source,会报错,命令不存在。

然后这个时候我们只能在linux上面访问,根据主机名访问,在宿主机中还是要用ip地址访问,不知道是不是我这里没搞清楚,我其实觉着这样是合理的,本身是没有域名访问的,即不存在公网情况。主机名用于局域网中;域名用于公网中。

如果想要在宿主机中通过主机名访问虚拟机,也可以在主机中配置hosts文件,mac和windows我就不多赘述了,

这样就可以访问,如图所示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值