步骤 3 - 创建新的虚拟主机配置文件
Apache 带有一个名为 000-default.conf 的默认虚拟主机文件,用于默认或者捕获未定义的虚拟主机。
我们将用作模板来创建我们的虚拟主机。
使用以下命令基于 000-default.conf 文件创建我们的虚拟主机配置文件:
$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test1.example.com.conf
使用 nano 打开新的虚拟主机配置文件
$ sudo nano /etc/apache2/sites-available/test1.example.com.conf
编辑该文件变成这样:
<VirtualHost *:80> ServerAdmin admin@example.com ServerName test1.example.com ServerAlias test1.example.com DocumentRoot /var/www/test1.example.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
注意:我们可以使用 ServerAlias 创建名称不同但文档根相同的虚拟主机,例如 www.example.com 和 example.com 。
配置将是这样的
ServerName example.com ServerAlias www.example.com
步骤 1 - 创建目录结构
文档根目录是 Apache 查找要提供的内容的顶级目录。
通常使用名称 public_html 以便于识别。
例如,对于我们的网站,我们将制作这样的目录:
$ sudo mkdir -p /var/www/test1.example.com/public_html
准备工作
在开始阅读本教程之前,我们至少应该具备 linux 的基本知识,了解 Linux 的基本 shell 命令、root 用户或者在服务器上设置了 sudo 权限的非 root 用户帐户。
另外,你已经安装了apache。
如果服务器未安装 apache,我们可以按照如何在 Ubuntu 16.04 教程上安装 Apache PHP。
我们必须将域名指向服务器 IP 地址。
对于本教程中的示例,我们将使用以下详细信息创建虚拟主机:
Domain name : test1.example.com Document root : /var/www/example.com/
步骤 5 - 在浏览器中测试
打开浏览器,打开 url: http://test1.example.com 来验证结果。
步骤 4 - 为 Apache 启用新的虚拟主机配置
现在我们已经创建了我们的虚拟主机文件,我们必须启用它们。
Apache 包含一些允许我们执行此操作的工具。
我们使用 aen2site 来启用配置
$ sudo a2ensite test1.example.com.conf
我们需要重新启动 Apache 才能使这些更改生效:
$ sudo systemctl restart apache2
在本教程中,我们将指导我们在 ubuntu 16.04 上配置 apache 虚拟主机或者 vhost。
使用虚拟主机允许管理员通过使用匹配机制使用一台服务器在单个接口或者 IP 上托管多个域或者站点。
基本上,我们可以使用一个 IP 地址来服务器多个域名。
虚拟主机方法广泛用于共享主机提供商。
步骤 2 - 为虚拟主机创建示例页面
我们将创建简单的 html 文件并放入虚拟主机文档根目录
$ nano /var/www/test1.example.com/public_html/index.html
在此文件中,创建一个简单的 HTML 文档,指示它所连接的站点。
我的文件看起来像这样:
<html> <head> <title>Welcome to test1.example.com!</title> </head> <body> <h1>Success! The test1.example.com virtual host is working!</h1> </body> </html>