human: 如何处理七牛云的云主机搭建多个Web站点（CentOS 7）

gpt: [云主机](https://developer.qiniu.com/qvm) > 使用文档 > 搭建多个Web站点（CentOS 7）

#  搭建多个Web站点（CentOS 7）

最近更新时间: 2020-09-04 19:46:47

本文介绍如何在CentOS 7系统的QVM实例上使用Nginx搭建多个Web站点。

# 前提条件

  * 已注册七牛云账号。如还未注册，请先完成[账号注册](https://portal.qiniu.com/signup?ref=developer.qiniu.comregister.htm?)。 
  * 已创建分配公网IP的QVM实例，并部署了LNMP环境，具体操作请参见[手动部署LNMP环境（CentOS 7）](https://developer.qiniu.com/qvm/manual/7073/manual-deployment-lnmp-environment-centos-7 "Nginx是一款小巧而高效的Web服务器软件，可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本教程介绍如何手动在QVM实例上搭建LNMP环境，其中LNMP分别代表Linux、Nginx、MySQL和PHP。")。 

# 背景信息

本教程适用于熟悉Linux操作系统，希望合理利用资源、统一管理站点以提高运维效率的用户。比如，您可以在一台云服务器上配置多个不同分类的博客平台或者搭建多个Web站点实现复杂业务的网站系统。

教程中，将在一台已部署LNMP环境的实例上同时搭建两个测试站点Testpage-1和Testpage-2，并访问对应的站点。

本教程示例步骤中使用的实例配置信息如下。

  * 实例规格：ecs.c6.large
  * 操作系统：CentOS 7.8 64位

# 创建测试站点

  1. 远程连接已部署LNMP环境的QVM实例。

  2. 运行以下命令进入已配置好的网站根目录。
    
        cd /usr/share/nginx/html

  3. 运行以下命令创建两个测试文件夹。

文件夹中用于存放测试网站信息，即存放项目代码。

    
        mkdir Testpage-1mkdir Testpage-2

  4. 配置测试站点Testpage-1的信息。
    1. 运行以下命令进入Testpage-1。
        
                cd /usr/share/nginx/html/Testpage-1/

    2. 运行以下命令创建并编辑`index.html`文件。
        
                vim index.html

    3. 按`i`进入编辑模式，输入以下测试内容。
        
                Test page 1

编辑完成后，按`Esc`键，并输入`:wq`后按下回车键，保存并退出。

  5. 配置测试站点Testpage-2的信息。
    1. 运行以下命令进入Testpage-2。
        
                cd /usr/share/nginx/html/Testpage-2/

    2. 运行以下命令创建并编辑`index.html`文件。
        
                vim index.html

    3. 按`i`进入编辑模式，输入以下测试内容。
        
                Test page 2

编辑完成后，按`Esc`键，并输入`:wq`后按下回车键，保存并退出。

# 配置Nginx

  1. 运行一下命令查看nginx.conf配置文件。
    
        cat /etc/nginx/nginx.conf

在`http{}`模块内，查看`include`配置信息。

本示例中配置如下图所示，`include
/etc/nginx/conf.d/*.conf;`表示Nginx将会从该路径下的所有.conf文件获取站点信息。![nginx.conf](http://qey2kbifv.hn-
bkt.clouddn.com/2020-09-04/j9YdHsf2tMWSVNoJePpn.png)

  2. 运行以下命令进入/etc/nginx/conf.d路径下。
    
        cd /etc/nginx/conf.d

  3. 为测试站点Testpage-1创建并配置Nginx配置文件。
    1. 运行以下命令创建并编辑配置文件。
        
                vim Testpage1.conf

    2. 按`i`进入编辑模式，输入以下内容。

在注释内容处，替换服务器域名参数信息与项目路径参数信息。

        
                server {  
            listen       80;  
            server_name  testpage1.com;    #此处使用测试域名。实际配置中使用您的服务器域名。  
          
            #charset koi8-r;  
            access_log  /var/log/nginx/b.access.log  main;  
          
            location / {  
                root   /usr/share/nginx/html/Testpage-1;    #测试站点路径。即您的项目代码路径。  
                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;  
            }  
        }

编辑完成后，按`Esc`键，并输入`:wq`后按下回车键，保存并退出。

  4. 为测试站点Testpage-2创建并配置Nginx配置文件。
    1. 运行以下命令创建并编辑配置文件。
        
                vim Testpage2.conf

    2. 按`i`进入编辑模式，输入以下内容。

在注释内容处，替换服务器域名参数信息与项目路径参数信息。  

        
                server {  
            listen       80;  
            server_name  testpage2.com;    #此处使用测试域名。实际配置中使用您的服务器域名。  
          
            #charset koi8-r;  
            access_log  /var/log/nginx/b.access.log  main;  
          
            location / {  
                root   /usr/share/nginx/html/Testpage-2;    #测试站点路径。即您的项目代码路径。  
                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;  
            }  
        }  
        

  
  
编辑完成后，按`Esc`键，并输入`:wq`后按下回车键，保存并退出。

  5. 运行以下命令重启Nginx服务。
    
        systemctl restart nginx

# （可选）本地配置hosts

由于本教程中全部使用的测试信息，因此需要在本地的hosts文件中配置IP映射。如果您在配置多个站点信息时使用的是真实的服务器域名，请忽略该步骤。教程中本地物理机使用Windows操作系统。

  1. 访问C:\Windows\System32\drivers\etc目录。
  2. 复制hosts文件进行备份。

保留hosts - 副本文件，在测试完成后使用该文件恢复host文件的初始状态。

  3. 修改hosts文件。

在文件末尾追加以下内容。

    
        <QVM实例公网IP> testpage1.com<QVM实例公网IP> testpage2.com

保存文件并退出。

  4. 返回Windows桌面，并按下`Win + R`组合键。
  5. 在运行对话框中输入`cmd`，并单击确定。
  6. 在命令行中运行以下命令，使hosts配置立即生效。
    
        ipconfig /flushdns

# 执行结果

在本地主机打开浏览器，成功访问到两个测试站点。

  * 访问`testpage1.com/`，查看Testpage-1站点内容如下所示。![testpage1](http://qey2kbifv.hn-bkt.clouddn.com/2020-09-04/mx8L719aosRE5bkM6Kjt.png)
  * 访问`testpage2.com/`，查看Testpage-2站点内容如下所示。![testpage2](http://qey2kbifv.hn-bkt.clouddn.com/2020-09-04/KfdJpZuVQjDwR3M1sEYa.png)

至此多个Web站点已搭建成功。在实际搭建站点场景中，您只需要将配置文件中的域名与项目路径配置正确，即可实现多站点的访问。