虚拟主机(VirtualHost):就是在同一台机器搭建不同域名或者基于不同IP的多个网站服务技术。可运行在同一物理机器上配置不同的IP和端口,也可让多个网站拥有不同的域名。


我的电脑是windows平台,如下方式适合原生Apache,Xampp和WAMP套件
1.打开目录{Apache2 安装目录}\conf\extra\, 找到 httpd-vhosts.conf 文件.
2. 仿照例子, 添加一段代码来指定某一域名的网站.
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
    
 
   

3. 打开 httpd.conf 文件, 添加如下语句.

# Virtual hosts 
  Include conf/extra/httpd-vhosts.conf

4. 重启 Apache 服务.

5.在hosts中绑定域名 127.0.0.1 demo.index.com

6.测试:在浏览器中 demo.index.com 一般默认访问的是index.html,如果网站文件存放的根目录没有index.html 会报404错误,如果你想访问其他的文件直接在后面追加文件路径就可以啦。

7.如果发现不能访问,请查看httpd.conf  将Deny from all 注掉就哦了。具体可查看http://imvoo.com/archives/407.html 

 

<Directory />

    Options FollowSymLinks

    AllowOverride None

    Order deny,allow

    #Deny from all

</Directory>


关于Linux环境,摘自网络 后继学习~

 

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 zhao.wuz@alibaba-inc.com DocumentRoot /var/www/httpdocs/demo_aliluna_com ServerName demo.aliluna.com ErrorLog logs/demo.aliluna.com-error.log CustomLog logs/demo.aliluna.com-access.log common </VirtualHost>

3. 重启 httpd 服务, 执行以下语句.

service httpd restart

Ubuntu Linux

Ubuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.

1. 打开目录 /etc/apache2/sites-available/, 发现 default 和 default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如: demo.aliluna.com)

2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:

# # DocumentRoot 是网站文件存放的根目录 # ServerName 是网站域名, 需要跟 DNS 指向的域名一致 # <VirtualHost *:80> ServerAdmin zhao.wuz@alibaba-inc.com DocumentRoot /var/www/httpdocs/demo_aliluna_com ServerName demo.aliluna.com ErrorLog ${APACHE_LOG_DIR}/demo.aliluna.com-error.log CustomLog ${APACHE_LOG_DIR}/demo.aliluna.com-access.log combined </VirtualHost>

3. 通过 a2ensite 激活虚拟主机配置

sudo a2ensite demo.aliluna.com

4. 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销

sudo a2dissite demo.aliluna.com

5. 重启 Apache 服务, 激活虚拟主机

sudo /etc/init.d/apache2 restart
个人笔记,望日后可自用。。。