
# Nginx服务配置多站点
在一台ECS实例中配置多个Web站点，可以有效节约运营成本，便捷管理多个网站（包括更新软件、配置安全设置、备份数据等），根据各个网站的需求变化，可以灵活调整资源分配等。本文介绍如何在Linux系统的ECS实例上使用Nginx搭建多个Web站点。
#### 前提条件
已创建分配公网IP的ECS实例，并部署了LNMP环境。具体操作请参见[搭建LNMP环境](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_topic_0000001956778633.html)或[快速搭建LNMP环境](https://www.huaweicloud.com/solution/implementations/rapid-deployment-of-lnmp-environment.html)。
#### 创建测试站点
1. 远程连接已部署LNMP环境的ECS实例。 远程连接方式请参考[Linux ECS登录方式概述](https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0013771089.html)。
   
2. 执行以下命令，进入已配置好的网站根目录。
   ```
   cd /usr/share/nginx/html
   ```
   
3. 执行以下命令，创建两个测试文件夹。 文件夹中用于存放测试网站信息，即存放项目代码。
   ```
   sudo mkdir page-one
   sudo mkdir page-two
   ```
   
4. 配置测试站点page-one的信息。
   1. 执行以下命令，进入page-one。
      ```
      cd /usr/share/nginx/html/page-one/
      ```
      
   
   2. 执行以下命令，创建并编辑index.html文件。
      ```
      sudo vim index.html
      ```
      
   
   3. 按**i** 键进入编辑模式，输入以下测试内容。
      ```
      test page one
      ```
      
   
   4. 编辑完成后，按**Esc** 键，输入**:wq**后按下回车键，保存并退出。
    
5. 配置测试站点page-two的信息。
   1. 执行以下命令，进入page-two。
      ```
      cd /usr/share/nginx/html/page-two/
      ```
      
   
   2. 执行以下命令，创建并编辑index.html文件。
      ```
      sudo vim index.html
      ```
      
   
   3. 按**i** 键进入编辑模式，输入以下测试内容。
      ```
      test page two
      ```
      
   
   4. 编辑完成后，按**Esc** 键，输入**:wq**后按下回车键，保存并退出。
    
 
#### 配置Nginx
1. 执行以下命令，查看nginx.conf配置文件。
   ```
   cat /etc/nginx/nginx.conf
   ```
   在http{}模块内，查看include配置信息。
   本示例中配置如下图所示，include /etc/nginx/conf.d/\*.conf;表示Nginx将会从该路径下的所有.conf文件获取站点信息。
   ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002203342716.png "点击放大")
   
2. 执行以下命令，进入/etc/nginx/conf.d路径下。
   ```
   cd /etc/nginx/conf.d
   ```
   
3. 为测试站点page-one创建并配置Nginx配置文件。
   1. 执行以下命令，创建并编辑配置文件。
      ```
      sudo vim page-one.conf
      ```
      
   
   2. 按**i** 键进入编辑模式，输入以下内容。
      在注释内容处，替换服务器域名参数信息与项目路径参数信息。
      ```
      server {
          listen       80;
          server_name  linux1.com;    #此处使用测试域名。实际配置中使用您的服务器域名。
       
          location / {
              root   /usr/share/nginx/html/page-one;    #测试站点路径。即您的项目代码路径。
              index  index.html index.htm;
          }
       
          #error_page  404              /404.html;
       
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }
      ```
      
   
   3. 编辑完成后，按**Esc** 键，输入**:wq**后按下回车键，保存并退出。
    
4. 为测试站点page-two创建并配置Nginx配置文件。
   1. 执行以下命令，创建并编辑配置文件。
      ```
      sudo vim page-two.conf
      ```
      
   
   2. 按**i** 键进入编辑模式，输入以下内容。
      在注释内容处，替换服务器域名参数信息与项目路径参数信息。
      ```
      server {
          listen       80;
          server_name  linux2.com;    #此处使用测试域名。实际配置中使用您的服务器域名。
       
          location / {
              root   /usr/share/nginx/html/page-two;    #测试站点路径。即您的项目代码路径。
              index  index.html index.htm;
          }
       
          #error_page  404              /404.html;
       
          error_page   500 502 503 504  /50x.html;
          location = /50x.html {
              root   /usr/share/nginx/html;
          }
      }
      ```
      
   
   3. 编辑完成后，按**Esc** 键，输入**:wq**后按下回车键，保存并退出。
    
5. 执行以下命令，重启Nginx服务。
   ```
   sudo systemctl restart nginx
   ```
   
 
#### 结果验证
上面的域名为测试域名，通过在主机上加hosts将测试域名指向本机地址进行测试。
hosts文件修改效果如图，hosts文件路径为/etc/hosts。
![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002238352965.png "点击放大")
- 访问http://linux1.com，查看page-one站点内容如下图所示。 ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002238433773.png "点击放大")
  
- 访问http://linux2.com，查看page-two站点内容如下图所示。 ![](https://support.huaweicloud.com/bestpractice-ecs/zh-cn_image_0000002203513428.png "点击放大")
  
至此多个Web站点已搭建成功。在实际搭建站点场景中，您只需要将配置文件中的项目路径配置正确，即可实现多站点的访问。
