首页 > 技术文章 > Apache虚拟主机的搭建(原)

zhq--blog 2018-06-06 17:37 原文

搭建虚拟主机的意义:原原本本的模拟一个远程服务器的访问环境,最大化缩小与远程服务器环境的差异,可以本地修改后上传,而不是通过远程服务器在修改;

而且利用虚拟主机可以模拟出不同的域名访问效果.

一.基于域名的虚拟主机的配置

1.记事本打开hosts文件,该文件在:C:\ Windows\ System32\ drivers\etc这个文件夹下, 在文件内容的末尾写入如下内容:

127.0.0.1 www.lamp1018.com    作用:在hosts文件中将访问地址指向本地

 

2.记事本打开httpd-vhosts.conf文件,该文件在apache的目录下,如:E:\WAMP\ Apache24\conf\extra,按照文件中原有的格式再添加一个VirtualHost,只修改下面有注释的两处,如下:

<VirtualHost *:80>

ServerName www.lamp1018.com
DocumentRoot E:\WAMP\Apache24\lamp1018.com

</VirtualHost>

注意保留之前的默认的localhost

<VirtualHost *:80>

ServerName localhost
DocumentRoot E:\WAMP\Apache24\WWW

</VirtualHost>

 

3.记事本打开httpd.conf文件 ,该文件在apache的目录下,如: E:\WAMP\ Apache24\conf,修改如下两处:

LoadModule vhost_alias_module modules/mod_vhost_alias.so   //去掉前面的#,意思是启用apache的虚拟主机功能

Include conf/extra/httpd-vhosts.conf  //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置  

 

4.重启apache,浏览器中输入www.lamp1018.com即可访问 。

 

二.基于端口的虚拟主机的配置

1.记事本打开httpd-vhosts.conf文件,按照文件中原有的格式再添加一个VirtualHost,修改其中的端口号和项目路径,如下(注意:端口号要保证不和系统中已使用的端口号冲突,所以尽量设置为4到5位数):

<VirtualHost *:12345>#这里修改为自定义的端口号  

  DocumentRoot "E:\WAMP\Apache24\WWW\ecshop"#DocumentRoot后面修改为网站的根路径  

  ServerName localhost#这里保持localhost就可以  

</VirtualHost> 

 2.打开httpd.conf文件,添加如下代码,表示让apache监听我们上面的端口:

Listen 12345 

3.保存并重启apache,然后在浏览器里输入"localhost:12345"就可以访问到我们的项目了。

 

注1:出现You don't have permission to access / on this server时,是因为我的虚拟主机目录为非apache安装目录下的htdocs,所以违反了apache默认对网站根访问权限。

apache的默认虚拟主机根目录地址为../Apache24/htdocs 目录下,需要对httpd.conf文件进行修改才能指向其他目录。

# Deny access to the entirety of your server's filesystem. You must
# explicitly permit access to web content directories in other
# <Directory> blocks below.
#
<Directory />
AllowOverride All
Require all denied
</Directory>

 

修改为

<Directory />
AllowOverride All
Require all granted
</Directory>

注2:因为hosts文件中127.0.0.1既指向localhost和www.lamp1018.com,所以搭建虚拟主机修改完后最好使用域名访问,比如127.0.0.1可能访问不到页面

推荐阅读