Nginx反向代理实现

什么是反向代理?

先说正向代理,比如要访问youtube,但是不能直接访问,只能先找个FQ软件,通过FQ软件才能访问youtube. FQ软件就叫做正向代理。

所谓的反向代理,指的是用户要访问youtube,但是youtube悄悄地把这个请求交给bilibili来做,那么bilibili就是反向代理了。

实现案例

我输入nginx地址访问nginx,但是nginx把我的请求发给了tomcat来做,所以我最终访问的界面是tomcat


实现步骤

步骤一

启动一个tomcat,我这里的端口号是8080

进入tomcat的bin目录,点击startup
image

测试一下启动成功效果http://localhost:8080/
image

步骤二

进入nginx的conf目录修改nginx.conf

        location / {
           proxy_pass http://127.0.0.1:8080;
        }

location / 表示处理所有请求
proxy_pass http://127.0.0.1:8080; 表示把请求都交给http://127.0.0.1:8080来处理

步骤三

重启nginx并访问

cmd中输入nginx -s reload重启nginx

浏览器中输入http://127.0.0.1/http://localhost/访问,最后的访问效果和步骤一中直接输入http://localhost:8080/的效果是一样的
image


这样做反向代理的意义是啥?

因为nginx在处理静态文件的吞吐量上面比tomcat好很多,通常他们俩配合,不会把所有的请求都如本例所示的交给tomcat, 而是把静态请求交给nginx,动态请求,如jsp, servlet,ssm, struts等请求交给tomcat. 从而达到动静分离的效果

posted @ 2021-07-09 11:26  西红柿里没有番茄  阅读(282)  评论(0编辑  收藏  举报