利用Nginx实现反向代理web服务器

时间:2022-02-05 20:32:26

一、Nginx简介

Nginx是一个很强大的高性能Web服务器和反向代理服务器,它具有很多非常优越的特性:

  1. 可以高并发连接
  2. 内存消耗少
  3. 成本低廉
  4. 配置文件非常简单
  5. 支持Rewrite重写
  6. 内置的健康检查功能
  7. 节省带宽
  8. 稳定性高
  9. 支持热部署

Nginx与Apache、Lighttpd综合对比

利用Nginx实现反向代理web服务器

二、反向代理概述

反向代理,是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

并且反向代理是代理的是服务端,主要用于服务器集群分布式部署的情况下,反向代理对外隐藏了服务器的信息。

下面就用Nginx配置一下反向代理。

二、实验环境

利用Nginx实现反向代理web服务器

此实验是在在物理机上模拟客户端,在一台虚拟机上配置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

利用Nginx实现反向代理web服务器

第二步:在/var/www目录下创建两个html文件作为两个端口访问的数据

第一个:

利用Nginx实现反向代理web服务器

第二个:

利用Nginx实现反向代理web服务器

第三步:修改apache的配置文件

vi /etc/httpd/conf/httpd.conf

首先加*问的端口:

利用Nginx实现反向代理web服务器

在文件最后加*问两个端口的目录:

利用Nginx实现反向代理web服务器

然后wq保存退出

第四步:重新Apache服务:systemctl restart httpd.service

利用Nginx实现反向代理web服务器

第五步:在浏览器中测试:

利用Nginx实现反向代理web服务器

利用Nginx实现反向代理web服务器

Apache的配置完成

2. 用Nginx配置反向代理

第一步:安装Nginx服务

yum install nginx -y

利用Nginx实现反向代理web服务器

利用Nginx实现反向代理web服务器

利用Nginx实现反向代理web服务器

    第二步:修改Nginx配置文件配置反向代理

vi /etc/nginx/nginx.conf

    在http段中添加两个server段:

利用Nginx实现反向代理web服务器

利用Nginx实现反向代理web服务器

这样Nginx的8010端口代理Apache的666端口,Nginx的8020端口代理Apache的888端口

wq退出

第三步:重启Nginx

systemctl restart nginx.service

利用Nginx实现反向代理web服务器

3.主机作为客户端访问代理的两个端口

利用Nginx实现反向代理web服务器

利用Nginx实现反向代理web服务器

四、结论

以上配置就是通过nginx的不同端口代理多个地址,最后客户端通过访问代理服务器,代理服务器配置不同的策略访问到不同的端口(实际应该是不同的服务器)实现反向代理。

反向代理的作用:

保证内网的安全,通常将反向代理作为公网访问地址,Web 服务器是内网。负载均衡,通过反向代理服务器来优化网站的负载。

利用Nginx实现反向代理web服务器