本文介绍如何通过Nginx代理服务器代理阿里云文件存储 NAS。

背景信息

Nginx是一款轻量级的高性能Web服务器和反向代理服务器,它具有很多非常优越的特性。反向代理(Reverse Proxy)是Nginx最常见的一种应用模式。 反向代理是指通过代理服务器接受互联网上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给互联网上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

简单来说就是真实的服务器不能直接被外部网络访问,需要一台代理服务器,而代理服务器能被外部网络访问的同时又跟真实服务器在同一个网络环境。或者真实服务器与代理服务器是同一台服务器但端口不同。

本案例中,使用1台Nginx做反向代理服务器,4台Nginx做代理服务器,后端使用阿里云NAS。阿里云NAS用于存储代理服务器的缓存文件、镜像回源文件或者用户上传的静态数据文件,不同代理服务器之间共享访问NAS数据,实现数据同步,避免由于数据不同步导致的数据不一致或者重复镜像回源而浪费带宽。配置组网如下图所示。


组网图

本案例中,以ECS(CentOS操作系统)环境为例,完成相关配置。

步骤一:部署Nginx反向代理服务器

  1. 安装Nginx。
    sudo yum install nginx
  2. 配置反向代理,使反向代理服务器指向代理服务器。
    1. 执行如下命令,打开/etc/nginx/nginx.conf文件。
      vim /etc/nginx/nginx.conf
    2. /etc/nginx/nginx.conf文件中配置如下信息。
      http {
      upstream web{
               server 10.10.0.10;
               server 10.10.0.11;
               server 10.10.0.12;
               server 10.10.0.13;
            }
            server {
                listen 80;
                    location / {
                         proxy_pass http://web;
                     }
            }
      }

步骤二:创建文件系统和挂载点

  1. 创建对应地域的NFS文件系统,详情请参见管理文件系统
    说明 文件系统要与云服务器ECS处于同一地域。
  2. 添加VPC类型的挂载点,详情请参见管理挂载点

步骤三:部署Nginx代理服务器

  1. 执行以下命令安装Nginx。
    sudo yum install nginx
  2. 执行以下命令安装NFS客户端。
    sudo yum install nfs-utils
  3. 执行以下命令挂载文件系统到Nginx网站目录。
    sudo mount -t nfs -o vers=4.0,file-system-id.region.nas.aliyuncs.com:/ /usr/share/nginx/html/ 

    file-system-id.region.nas.aliyuncs.com:/为挂载点域名,请根据实际情况替换。

  4. 编辑Nginx主目录文件。
    echo “This is Testing for Nginx&NAS”> /usr/share/nginx/html/index.html
  5. 重复以上步骤,配置另外三台Nginx代理服务器,均挂载同一个NFS文件系统。
  6. 验证配置结果。

    所有Nginx代理服务器都可以访问index.html文件,则表示配置代理成功。


    验证结果