在一个Apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务,其实就是访问同一个服务器上的不同目录。Apache虚拟主机配置有3种方法:基于IP配置、基于域名配置和基于端口配置,这里介绍基于域名配置
1)编辑httpd.conf配置文件,开启 Virtual hosts
[root@localhost ~]# vim /usr/local/apache/conf/httpd.conf
#Include conf/extra/httpd-vhosts.conf 注释掉#即可
2)编辑httpd-vhosts.conf 虚拟主机配置文件
[root@localhost ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
#内容如下:
<VirtualHost *:80>
ServerAdmin abc@qq.com
DocumentRoot "/usr/local/apache/conf/vhsots"
ServerName www.abc.com
ErrorLog "logs/abc_com_error.log"
CustomLog "logs/abc.com_access_log" common
<Directory "/usr/local/apache/conf/abc.com">
AllowOverride All
Options -Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin bcd@qq.com
DocumentRoot "/usr/local/apache/conf/vhsots"
ServerName www.bcd.com
ErrorLog "logs/bcd_com_error.log"
CustomLog "logs/bcd_com_access.log" common
<Directory "/usr/local/apache/conf/bcd.com">
AllowOverride All
Options -Indexes FollowSymLinks
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
[root@localhost ~]# mkdir /usr/local/apache/conf/{abc.com,bcd.com}
[root@localhost ~]# /usr/local/apache/bin/apachectl restart
[root@localhost ~]# netstat -lntup
[root@localhost ~]# cd /usr/local/apache/conf/abc.com
[root@localhost ~]# echo 'this is www.abc.com' > index.html
[root@localhost ~]# cd ../bcd.com
[root@localhost ~]# echo 'this is www.bcd.com' > index.html
#编辑C:\Windows\System32\drivers\etc\hosts
#浏览器访问www.abc.com,出现以下页面
1) 使用<Directory>… </Directory>设置指定目录的访问权限,其中可包含:
2) AllowOverride 设置为 None 时, .htaccess 文件将被完全忽略。指令设置为 All 时,所有具有 ".htaccess" 作用域将生效.
3) Options -Indexes FollowSymLinks禁止显示目录,如果要以目录显示需要改成Options Indexes FollowSymLinks
4) Order allow,deny ,默认情况下禁止所有客户机访问;Order deny,allow 默认情况下允许所有客户机访问。
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!
广东省深圳市南山区 电信 1F
亲测,写的不错,感谢博主