这篇文章给大家介绍Nginx中怎么实现反向代理web服务器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
一、Nginx简介
Nginx是一个很强大的高性能Web服务器和反向代理服务器,它具有很多非常优越的特性:
1. 可以高并发连接
2. 内存消耗少
3. 成本低廉
4. 配置文件非常简单
5. 支持Rewrite重写
6. 内置的健康检查功能
7. 节省带宽
8. 稳定性高
9. 支持热部署
Nginx与Apache、Lighttpd综合对比
二、反向代理概述
反向代理,是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
反向代理是代理的是服务端,主要用于服务器集群分布式部署的情况下,反向代理对外隐藏了服务器的信息。
下面就用Nginx配置一下反向代理。
三、实验环境
此实验是在在物理机上模拟客户端,在一台虚拟机上配置Nginx和Apache模拟服务端,通过Nginx实现反向代理
客户端(win10):ip:192.168.5.120
服务端(centos):ip:192.168.5.100
Nginx端口:8010、8020
Apache1端口:666
Apache2端口:888
四、实验步骤
1.在虚拟机Apache上部署测试网页
第一步:安装Apache
yum install httpd -y
第二步:在/var/www目录下创建两个html文件作为两个端口访问的数据
第一个:
第二个:
第三步:修改Apache的配置文件
vi /etc/httpd/conf/httpd.conf
首先加需要访问的端口:
在文件最后加访问两个端口的目录:
然后wq保存退出
第四步:重新Apache服务:systemctl restart httpd.service
第五步:在浏览器中测试:
服务器端的配置完成
2. 用Nginx配置反向代理
第一步:安装Nginx服务
yum install nginx -y
第二步:修改Nginx配置文件配置反向代理
vi/etc/nginx/nginx.conf
在http段中添加两个server段:
这样Nginx的8010端口代理Apache的666端口,Nginx的8020端口代理Apache的888端口
wq退出
第三步:重启Nginx
systemctl restart nginx.service
3.主机作为客户端访问代理的两个端口
4.特别注意
以上实验的时候虚拟机关闭了selinux,否则nginx转发会出现错误。
关闭selinux(临时):setsebool 0
或者修改配置文件重启:vi /etc/selinux/config
四、结论
最后客户端通过访问代理服务器,代理服务器配置不同的策略访问到不同的端口(实际应该是不同的服务器)实现反向代理。
反向代理的作用:
1.保证内网的安全,通常将反向代理作为公网访问地址,Web 服务器是内网。
2.缓存,将服务器的响应缓存在自己的内存中,减少服务器的压力。
3.负载均衡,通过反向代理服务器来优化网站的负载。
关于Nginx中怎么实现反向代理web服务器就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
原创文章,作者:3628473679,如若转载,请注明出处:https://blog.ytso.com/230031.html