虚拟主机 (Virtual Host) 是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的 IP 和端口, 也可让多个网站拥有不同的域名.
Apache 是世界上使用最广的 Web 服务器, 从 1.1 版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站.
主旨
本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.
目标
本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.
以下是各操作系统的配置方法.
Redhat Enterprise Linux
Redhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.
1. 打开文件 /etc/httpd/conf/httpd.conf, 搜索 VirtualHost example, 找到代码如下:
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
|
2. 仿照例子, 添加一段代码来指定某一域名的网站.
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/httpdocs/demo_neoease_com
ServerName demo.neoease.com
ErrorLog logs/demo.neoease.com-error.log
CustomLog logs/demo.neoease.com-access.log common
</VirtualHost>
|
3. 重启 httpd 服务, 执行以下语句.
Ubuntu Linux
Ubuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.
1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如: demo.neoease.com)
2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/httpdocs/demo_neoease_com
ServerName demo.neoease.com
ErrorLog ${APACHE_LOG_DIR}/demo.neoease.com-error.log
CustomLog ${APACHE_LOG_DIR}/demo.neoease.com-access.log combined
</VirtualHost>
|
3. 通过 a2ensite 激活虚拟主机配置
sudo a2ensite demo.neoease.com
|
4. 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销
sudo a2dissite demo.neoease.com
|
5. 重启 Apache 服务, 激活虚拟主机
sudo /etc/init.d/apache2 restart
|
Windows
Windows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其 VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.
1. 打开目录 {Apache2 安装目录}\conf\extra\, 找到 httpd-vhosts.conf 文件.
2. 仿照例子, 添加一段代码来指定某一域名的网站.
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "D:/workspace/php/demo_neoease_com"
ServerName demo.neoease.com
ErrorLog "logs/demo.neoease.com-error.log"
CustomLog "logs/demo.neoease.com-access.log" common
</VirtualHost>
|
3. 打开 httpd.conf 文件, 添加如下语句.
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
|
4. 重启 Apache 服务.
Mac OS
近年苹果的雄起, 让 Mac 日催普及, 也成为很多开发人员的选择. 因为与 Linux 同源, 配置方法也相似.
1. 打开文件 /private/etc/apache2/extra/httpd-vhosts.conf.
2. 仿照例子, 添加一段代码来指定某一域名的网站.
#
# DocumentRoot 是网站文件存放的根目录
# ServerName 是网站域名, 需要跟 DNS 指向的域名一致
#
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "/usr/docs/httpdocs/demo_neoease_com"
ServerName demo.neoease.com
ErrorLog "/private/var/log/apache2/demo.neoease.com-error_log"
CustomLog "/private/var/log/apache2/demo.neoease.com-access_log" common
</VirtualHost>
|
3. 打开文件 /private/etc/apache2/httpd.conf, 搜索 Virtual hosts, 找到代码如下:
# Virtual hosts
#Include /private/etc/apache2/extra/httpd-vhosts.conf
|
去掉前面的注释符号 #
, 保存文件.
4. 重启 apache 服务, 执行以下语句.
总结
最近我在不同的几台服务器上搭建了一些网站服务, 这篇文章也算是我的个人笔记, 望日后可自用, 也希望对读者有用. 文中介绍了几个主流开发和部署环境上配置虚拟主机的方法, 其他 OS 大同小异.
因为还有些朋友留言希望知道 Nginx 的配置方法, 作为补充内容, 我又写了《Nginx 虚拟主机 VirtualHost 配置》
分享到:
相关推荐
base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz base zz zz zz zz zz
NULL 博文链接:https://greatwqs.iteye.com/blog/2429185
博文链接:https://lkfnn.iteye.com/blog/33600
资源的配置和状态 资源的能力和状态 停机、维护、升级IMAC IMAC IT预算及规划 IT资源的状态、利用、交付和支持 问题管理 虚拟化数据中心的管理及运维[zz]全文共21页,当前为第3页。 虚拟化服务目录及参考架构-虚拟化...
2021年全国职业院校技能大赛参赛选手备赛参照使用。
FizzBuzz:FizzBuzz游戏
FizzBuzz:Methode TDD
FizzBuzz:FizzBuzz问题をC言语で解いただけ
虚拟现实(VR)制作与应用赛项赛题 中职赛项 适合正在准备技能大赛的人群
作为虚拟主机用户,您也可以很方便的使用该系统,前提是您购买虚拟主机支持自定义ISAPI筛选器的功能,方法如下: 1、把iiszj_zz.dll、iiszj_zz.ini、index.php三个文件一起上传到空间; 2、然后在虚拟主机控制面板...
对于传统的 FizzBuzz 问题 - 整数从 1 到 100 - 它的运行速度比基于循环的方法略快,但速度优势非常快。 该函数将播放 FizzBuzz 的整数作为输入,并输出包含 'fizz'、'buzz'、'fizzbuzz' 或相应整数的元胞...
Z Z 만든목적 러스트공부 잊어버림다압축할때마。 빡대가리인듯
快速快速入门从获取最新的二进制文件不和谐社区编辑器支持Emacs:Vim: 看起来如何ZZ具有一定的美学意义,但仍以C语言为核心。 using <stdio>::{ printf }struct Random { u32 num;}fn rng (Random *self) u32 { ...
NULL 博文链接:https://seanzhou.iteye.com/blog/2003197
oc-ios-wakyzzz WakyZzz是一个iOS应用,用于在OpenClassrooms.com上学习iOS。
嘶嘶声通过语言和方法比较Fizzbuzz的性能。
我们研究了四轻子最终状态ℓ+ℓ-ℓ+ℓ-的产生,这些状态主要由一对弱电Z玻色子ZZ产生。 使用LoopSim方法,我们合并ZZ和ZZ + jet的NLO QCD结果,并获得ZZ产生的近似NNLO预测。 还包括对ZZ过程的精确胶子融合环平方的...