A-A+

在Ubuntu中使用Apache虚拟主机在同一个IP地址下创建多个网站

2017年08月20日 Linux系统 阅读 700 views 次

Apache不仅支持基于IP的虚拟主机,还支持基于域名的虚拟主机。这样很多不同的网站可以使用同一个IP地址和端口号。不过,如果多个虚拟主机都要求使用SSL,那么基于域名的虚拟主机就无法实现了。这并不是Apache的问题,而是受SSL协议本身的限制。下面介绍下基于域名的虚拟主机的搭建方法。

每一个Apache虚拟主机都有单独的配置文件,详细介绍可参考文章《Ubuntu中的Apache配置文件介绍》。这些虚拟主机的配置文件放在/etc/apache2/sites-available/目录下。当安装完成Apache后,此目录下会有一个default目录,里面存储了Apache默认的虚拟主机的配置文件。这个虚拟主机在安装时已经被链接到/etc/apache2/sites-enabled目录下,所以是已经在运行的虚拟主机。如果你在浏览器中访问服务器的IP地址,出现页面“It Works!",就表明该网站已经在提供服务。

假设你需要创建一个域名为mysite.com的新虚拟主机,可直接将default虚拟主机复制一份,在其基础进行修改。复制一个新的虚拟主机可参考如下命令:

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite.com

然后打开并编辑mysite.com配置文件。将第一行的NameVirtualHost指令删除(所有的虚拟主机只保留一个NameVirtualHost指令即可)。然后将DocumentRoot的路径修改为/var/www/mysite.com/, 将<Directory/var/www/>修改为<Directory/var/www/mysite.com/>。如果你有很多虚拟主机,建议修改ErrorLog和CustomLog的路径,这样可以把每个虚拟主机的日志分开,管理和维护起来比较方便。

创建目录/var/www/mysite.com,并写入一个index.html文件。

禁用default虚拟主机,并启用新建的mysit.com虚拟主机,然后重启Apache,就可以在浏览器中访问这个虚拟主机了。相关命令代码如下:

$ sudo a2dissite default && sudo a2ensite blog.mytest.com

$ sudo /etc/init.d/apache2 restart

个人公众号“数字化设计CAX联盟”,欢迎关注,共同交流
为您推荐:

给我留言

© 坐倚北风 版权所有 严禁镜像复制 苏ICP备15034888号. 基于 Ality 主题定制 AliCMS
联系邮箱:leanwind@163.con,微信公众号:数字化设计CAX联盟

用户登录

分享到: