如果在一个服务器上部署多个完全独立的网站,每个网站对应不同的业务,您可以通过修改Apache配置文件来实现多域名访问不同网站,从而充分利用服务器资源,提高管理和运营效率。
前提条件
已创建LAMP服务器。具体操作,请参见使用LAMP镜像创建服务器。
已购买域名。通过阿里云购买域名的操作,请参见通用域名注册基本流程如何注册阿里云域名。
准备环境
在本文的操作步骤中,示例资源说明如下:
服务器:选用LAMP 7.4镜像创建的轻量应用服务器。
测试网站:共两个,
test01
和test02
。测试域名:共两个,
test01.example.com
和test02.example.com
。
最终配置完成后,将实现:
访问
test01.example.com
,获取测试网站test01
的信息。访问
test02.example.com
,获取测试网站test02
的信息。
您在实际操作中,需要将示例资源更换为您自己的资源。
步骤一:创建测试网站
如果您的多个网站代码已保存在服务器的网站根目录下,可以跳过本步骤。
远程连接LAMP服务器。
具体操作,请参见远程连接Linux服务器。
运行以下命令,进入网站根目录。
轻量应用服务器的LAMP应用镜像不同版本中的网站根目录也不同,具体说明如下:
LAMP 7.4应用镜像默认的网站根目录为/data/wwwroot/default。
LAMP 6.1.0应用镜像默认的网站根目录为/home/www/htdocs。
本示例选用的是LAMP 7.4应用镜像,因此命令如下所示:
cd /data/wwwroot/default
依次运行以下命令,创建两个子目录。
子目录用于存放测试网站,即存放网站代码。
sudo mkdir test01
sudo mkdir test02
运行以下命令,进入test01子目录,新建并编辑index.html文件。
进入test01子目录。
cd /data/wwwroot/default/test01/
新建
index.html
文件。sudo vi index.html
按
i
键进入编辑模式,添加以下测试信息。Test page 01
编辑完成后,按
Esc
键,并输入:wq
后按下回车键,保存并退出文件。
运行以下命令,进入
test02
子目录,新建并编辑index.html
文件。进入
test02
子目录。cd /data/wwwroot/default/test02/
新建
index.html
文件。sudo vi index.html
按
i
键进入编辑模式,添加以下测试信息。Test page 02
编辑完成后,按
Esc
键,并输入:wq
后按下回车键,保存并退出文件。
步骤二:修改Apache配置文件
修改httpd.conf配置文件。
运行以下命令,打开httpd.conf配置文件。
sudo vi /usr/local/apache/conf/httpd.conf
按i键进入编辑模式,修改配置信息。
找到以下配置信息:
# Virtual hosts #Include conf/extra/httpd-vhosts.conf
去掉
#Include conf/extra/httpd-vhosts.conf
行首的#
。修改完成后,配置文件的信息如下图所示。
按Esc键,然后输入
:wq
并按Enter键,保存退出文件。
修改httpd-vhosts.conf文件。
运行以下命令,打开httpd-vhosts.conf文件。
sudo vi /usr/local/apache/conf/extra/httpd-vhosts.conf
按
i
键进入编辑模式,修改配置信息。您需要注释掉配置文件中默认的配置信息(即
<VirtualHost *:80></VirtualHost>
标签中的配置信息),并手动添加您的多个域名的配置信息。本示例中,需要进行以下操作:
如下图所示,注释掉默认配置信息。
在文件的末尾添加以下配置信息。
<VirtualHost *:80> DocumentRoot "/data/wwwroot/default/test01" ServerName test01.example.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/data/wwwroot/default/test02" ServerName test02.example.com </VirtualHost>
主要配置信息说明如下所示,您可以根据实际情况自定义配置信息。
DocumentRoot
:设置网站所在的路径。格式:DocumentRoot "网站路径"
。ServerName
:设置域名。格式:ServerName 您的域名
。
按
Esc
键,然后输入:wq
并按Enter
键,保存退出文件。
运行以下命令,重启Apache服务。
sudo systemctl restart httpd
步骤三:绑定域名
由于本示例中的两个域名为测试域名,因此需要在本地主机(Windows操作系统)的hosts文件中配置IP映射。
如果您在配置多个站点信息时使用的是真实的域名,请忽略以下操作步骤。您需要为LAMP服务器绑定多个域名。具体操作,请参见绑定并解析域名。成功绑定域名后,即可使用不同的域名访问不同的网站。
访问
C:\Windows\System32\drivers\etc
目录。复制
hosts
文件进行备份。保留hosts - 副本文件,在测试完成后使用该文件恢复hosts文件的初始状态。
修改
hosts
文件。在文件末尾追加以下内容。
<轻量应用服务器公网IP> test01.example.com <轻量应用服务器公网IP> test02.example.com
返回Windows桌面,以管理员身份运行命令提示符。
在命令提示符窗口中运行以下命令,使
hosts
配置立即生效。ipconfig /flushdns
步骤四:测试访问
在本地主机(Windows操作系统),使用浏览器依次访问两个测试站点。
访问
test01.example.com
,查看test01
站点内容如下所示。访问
test02.example.com
,查看test02
站点内容如下所示。
相关文档
您可以为域名设置HTTPS加密访问以较低的成本将数据传输协议从HTTP转换成HTTPS,实现网站的身份验证和数据加密传输,防止数据在传输过程中被篡改或信息泄露。具体操作,请参见: