如果想要在服务器上托管多个域,则需要在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_htmlchmod -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!”页面。