1.找到apache配置文件:httpd.conf
关于apache的配置文件,不同的linux主机可能放置在不同的地方,尤其对于那些编译安装的环境来说,放置的位置就更加不固定了,找到httpd.conf用编辑器打开。
打开Apache的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。
LoadModule vhost_alias_module modules/mod_vhost_alias.so
去掉#意思是启用apache的虚拟主机功能。
Include conf/extra/httpd-vhosts.conf
去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。打开它就可以在httpd-vhosts.conf文件里写虚机配置,而不是一定要在 httpd.conf 里面写了。直接在httpd.conf中写配置也可以,但不建议这么做。
2.修改配置文件,添加虚拟主机
查找如下的配置信息:
# 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
解释:
ServerAdmin 网站管理员邮箱 随便填
DocumentRoot 项目的根目录 (这个改成你自己项目的根目录)
ServerName 名字 随便填
ServerAlias 名字 随便填
ErrorLog 发生错误的日志文件
CustomLog 也是一个日志文件
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/web/wordpress
ServerName www.mr-c.cn
ErrorLog logs/www.mr-c.cn-error_log
CustomLog logs/www.mr-c.cn-access_log common
</VirtualHost>
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/web/wosn
ServerName www.wosn.net
ErrorLog logs/www.wosn.net-error_log
CustomLog logs/www.wosn.net-access_log common
</VirtualHost>
在这里我们用到两个域名 www.wosn.net 和 www.mr-c.cn,在实际应用中将其替换为自己的域名。当然,如果你要配置更多的站点,可以参考这样的方式继续添加,我们用两个站点作为说明。
以域名www.wosn.net为例,需要说明一个问题,如果你在解析域名的时候将 www.wosn.net 和wosn.net都进行了解析,这个时候你访问wosn.net的时候可能访问到的是 www.mr-c.cn 这个站点而不是 www.wosn.net,这该怎么办呢?我们可以在配置文件中再添加一个虚拟主机,即在配置文件添加:
<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /var/www/web/wosn
ServerName wosn.net
ErrorLog logs/www.wosn.net-error_log
CustomLog logs/www.wosn.net-access_log common
</VirtualHost>
3.配置完成,重启apache
修改完配置文件后,记得一定要重启apache,否则修改是不会起到作用的,这是很多刚上手的人员最容易忽略的问题。
4.apache配置文件说明
打开Apache的配置文件httpd.conf,在Listen 80下面添加多个监听端口如:
Listen 8011
Listen 8088
这样就增加了8011和8088端口的监听
然后在最后的位置设置虚拟主机目录
ServerName: 是服务的名字,只能填写一个域名
ServerAlias: servername的别名,使一个服务可以绑定多个域名,用空格隔开
DocumentRoot /www/aaa/bbb : 网站的根目录
DirectoryIndex example.php : 设置默认的访问页面,即首页
例如访问两个域名aaa.zzz.com, bbb.zzz.com,网站目录/www/aaa/bb
DocumentRoot /www/aaa/bbb
ServerName aaa.zzz.com
ServerAlias bbb.zzz.com
DirectoryIndex test.php
再重启apache即可