3种虚拟主机模式,分别是:基于域名的虚拟主机,基于端口的虚拟主机,基于IP地址的虚拟主机
1.基于域名的虚拟主机(*)
- 站点创建
- 3个站点名称:etiantian.org、 bbs.etiantian.org、 bbs.etiantian.org
mkdir /var/html/{www,bbs,blog} -p
touch /var/html/{www,bbs,blog}/index.html
for name in www bbs blog; do echo “http://$name.etiantian.org” >/var/html/$name/index.html;done
- 虚拟主机文件配置
vi httpd-vhosts.conf 编辑虚拟主机配置文件,虚拟主机配置模板如下
<VirtualHost *:80>
ServerAdmin 1935845114@qq.com
DocumentRoot “/var/html/www”
ServerName www.etiantian.org
ServerAlias etiantian.org #其他主机的别名可以不设置
ErrorLog “logs/www-error_log”
CustomLog “logs/www-access_log” common
</VirtualHost>
- 修改主配置文件
取消对虚拟主机配置文件的注释
Include conf/extra/httpd-vhosts.conf
也可以同时取消对extra/httpd-mpm.conf文件的注释,对结果没影响
- 站点目录授权
否则会出现403错误
<Directory “/var/html”>
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
- 检查语法,启动
/application/apache/bin/apachectl -t
#/application/apache/bin/apachectl start
/application/apache/bin/apachectl graceful
hosts文件中对域名进行解析
2.基于端口的虚拟主机(在1的基础上修改)
- 增加监听端口:
Listen 80
Listen 8080
- 增加虚拟主机端口:
在原有ServerName 下面
NameVirtualHost *:80
NameVirtualHost *:8080
- 修改虚拟主机模块端口
<VirtualHost *:80>
<VirtualHost *:8080>
- 重启服务访问
/application/apache/bin/apachectl graceful
http://www.etiantian.org/ #默认80端口
http://bbs.etiantian.org:8080/
3.基于IP地址的虚拟主机
- 添加别名IP
ifconfig eth0:1 192.168.80.99/24 up
- 修改虚拟主机模块端口
<VirtualHost 192.168.80.99:80>
<VirtualHost 192.168.80.100:80>