如果想要在服务器上托管多个域,则需要在web服务器上创建相应的主机,以便服务器知道应该为传入的请求提供哪些内容。在本教程中,您将学习如何在CentOS 7上创建Apache虚拟主机。

步骤1 – 安装Apache

首先,需要在CentoOS 7机器上安装Apache(如果已经安装了Apache,请跳过这一步),使用以下命令可以从默认的CentOS存储库安装Apache:

sudo yum -y install httpd

安装完成后,启用Apache作为CentOS服务

sudo systemctl enable httpd.service

Apache将在服务器重启后自动启动

步骤2 – 创建目录树

现在需要创建目录树,它将用于保存网站数据,运行以下命令将工作目录设置为/var/www:

cd /var/www/

为每个虚拟主机使用惟一的文档根,在本教程中,yourdomain.com将用作域样本,请将其替换为您自己的域,运行此命令为新主机创建目录:

mkdir -p yourdomain.com/public_html

现在,运行chown以更改目录所有权并为整个Web目录设置正确的权限,以便Apache可以正确访问它:

chown -R apache:apache /var/www/yourdomain.com/public_html

chmod -R 755 /var/www

Apache现在具有为传入查询提供内容所需的访问权限并创建其他目录。

第3步 –  创建演示页面

在yourdomain.com/public_html目录中创建index.html文件:

nano yourdomain.com/public_html/index.html

将此内容输入到文件中:

<html>

  <head>

    <title>This is a test page</title>

  </head>

  <body>

    <h1>It works!</h1>

  </body>

</html>

完成后保存文件。

第4步 –  创建虚拟主机

在Apache配置目录中创建一个新的虚拟主机.conf文件:

nano /etc/httpd/yourdomain.com.conf

yourdomain.com.conf文件的结构应该是这样的:

<VirtualHost *:80>

    ServerName www.yourdomain.com

    ServerAlias yourdomain.com

    DocumentRoot /var/www/yourdomain.com/public_html

    ErrorLog /var/www/yourdomain.com/error.log

    CustomLog /var/www/yourdomain.com/requests.log combined

</VirtualHost>

基本上,我们告诉Apache我们将使用80端口进行通信,并且yourdomain.com是此虚拟主机的名称。此外,我们指定网站文件(文档根目录)和错误日志的目录。

为了使这些更改生效,请通过执行以下命令重新启动Apache:

systemctl restart httpd.service

创建完成,尝试在浏览器中访问域名,可以看到“It works!”页面。