本文介绍如何在一台已搭建多个网站的服务器中修改Apache配置文件,以实现HTTP访问不同域名时,成功打开对应的网站。

前提条件

已创建LAMP服务器。具体操作,请参见使用LAMP镜像创建服务器

背景信息

在本文的操作步骤中,示例资源说明如下:
  • 服务器:选用LAMP 7.4镜像创建的轻量应用服务器。
  • 测试网站:共两个,test01test02
  • 测试域名:共两个,test01.example.comtest02.example.com
最终配置完成后,将实现:
  • 访问test01.example.com,获取测试网站test01的信息。
  • 访问test02.example.com,获取测试网站test02的信息。

您在实际操作中,需要将示例资源更换为您自己的资源。

步骤一:创建测试网站

如果您的多个网站代码已保存在服务器的网站根目录下,可以跳过本步骤。

  1. 远程连接LAMP服务器。
  2. 运行以下命令,进入网站根目录。
    轻量应用服务器的LAMP应用镜像不同版本中的网站根目录也不同,具体说明如下:
    • LAMP 7.4应用镜像默认的网站根目录为/data/wwwroot/example
    • LAMP 6.1.0应用镜像默认的网站根目录为/home/www/htdocs
    本示例选用的是LAMP 7.4应用镜像,因此命令如下所示:
    cd /data/wwwroot/example
  3. 依次运行以下命令,创建两个子目录。
    子目录用于存放测试网站,即存放网站代码。
    sudo mkdir test01
    sudo mkdir test02
  4. 运行以下命令,进入test01子目录,新建并编辑index.html文件。
    1. 进入test01子目录。
      cd /data/wwwroot/example/test01/
    2. 新建index.html文件。
      sudo vi index.html
    3. i键进入编辑模式,添加以下测试信息。
      Test page 01
    4. 编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出文件。
  5. 运行以下命令,进入test02子目录,新建并编辑index.html文件。
    1. 进入test02子目录。
      cd /data/wwwroot/example/test02/
    2. 新建index.html文件。
      sudo vi index.html
    3. i键进入编辑模式,添加以下测试信息。
      Test page 02
    4. 编辑完成后,按Esc键,并输入:wq后按下回车键,保存并退出文件。

步骤二:修改Apache配置文件

  1. 修改httpd.conf配置文件。
    1. 运行以下命令,打开httpd.conf配置文件。
      sudo vi /etc/httpd/conf/httpd.conf
    2. i键进入编辑模式,修改配置信息。
      找到以下配置信息:
      # Virtual hosts
      #Include conf/extra/httpd-vhosts.conf
      去掉#Include conf/extra/httpd-vhosts.conf行首的#
      修改完成后,配置文件的信息如下图所示。httpd-vhosts.conf
    3. Esc键,然后输入:wq并按Enter键,保存退出文件。
  2. 修改vhosts.conf文件。
    1. 运行以下命令,打开vhosts.conf文件。
      sudo vi /etc/httpd/conf.d/vhost.conf
    2. i键进入编辑模式,修改配置信息。
      您需要注释掉配置文件中默认的配置信息(即<VirtualHost *:80></VirtualHost>标签中的配置信息),并手动添加您的多个域名的配置信息。
      本示例中,需要进行以下操作:
      1. 如下图所示,注释掉默认配置信息。默认虚拟主机信息
      2. 在文件的末尾添加以下配置信息。
        <VirtualHost *:80>
             DocumentRoot "/data/wwwroot/example/test01"
             ServerName test01.example.com
        </VirtualHost>
        
        <VirtualHost *:80>
             DocumentRoot "/data/wwwroot/example/test02"
             ServerName test02.example.com
        </VirtualHost>
        主要配置信息说明如下所示,您可以根据实际情况自定义配置信息。
        • DocumentRoot :设置网站所在的路径。格式:DocumentRoot "网站路径"
        • ServerName:设置域名。格式:ServerName 您的域名
    3. Esc键,然后输入:wq并按Enter键,保存退出文件。
  3. 运行以下命令,重启Apache服务。
    sudo systemctl restart httpd

步骤三:绑定域名

由于本示例中的两个域名为测试域名,因此需要在本地主机(Windows操作系统)的hosts文件中配置IP映射。
说明 如果您在配置多个站点信息时使用的是真实的域名,请忽略以下操作步骤。您需要为LAMP服务器绑定多个域名。具体操作,请参见绑定并解析域名。成功绑定域名后,即可使用不同的域名访问不同的网站。
  1. 访问C:\Windows\System32\drivers\etc目录。
  2. 复制hosts文件进行备份。
    保留hosts - 副本文件,在测试完成后使用该文件恢复hosts文件的初始状态。
  3. 修改hosts文件。
    在文件末尾追加以下内容。
    <轻量应用服务器公网IP> test01.example.com
    <轻量应用服务器公网IP> test02.example.com
  4. 返回Windows桌面,并按下Win + R组合键。
  5. 运行对话框中输入cmd,并单击确定
  6. 在命令行中运行以下命令,使hosts配置立即生效。
    ipconfig /flushdns

步骤四:测试访问

在本地主机(Windows操作系统),使用浏览器依次访问两个测试站点。
  • 访问test01.example.com,查看test01站点内容如下所示。test01
  • 访问test02.example.com,查看test02站点内容如下所示。test02