Apache之虚拟主机
虚拟主机:
部署多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口
不同的IP,需要虚拟主机
一句话,一个http服务要配置多个站点,就需要虚拟主机。
虚拟主机分类:
1.基于域名.
2.基于端口。
3.基于ip。
域名 站点目录
www.zr.com /var/html/www
blog.zr.com /var/html/blog
bbs.etiantian.org /var/html/bbs
第一步:创建3个站点目录及首页文件:
[root@localhost ~]# mkdir /var/html/{www,blg,bbs} -p [root@localhost ~]# touch /var/html/{www,blg,bbs}/index.html
第二步,在首页文件内写入内容:
[root@localhost ~]# for name in www blg bbs;do echo "http://$name.zr.org" >/var/html/$name/index.html;done
第三步,修改apach的一个配置文件
[root@localhost extra]# vim httpd-vhosts.conf <VirtualHost *:80> ServerAdmin 1481673412@qq.com DocumentRoot "/var/html/www"#站点目录 ServerName www.zr.org#域名 ServerAlias zr.org#别名 ErrorLog "logs/www-error_log"#错误日志存放地点 CustomLog "logs/www-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin 1481673412@qq.com DocumentRoot "/var/html/blg"#站点目录 ServerName blg.zr.org#域名 ServerAlias zr.org#别名 ErrorLog "logs/blg-error_log"#错误日志存放地点 CustomLog "logs/blg-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin 1481673412@qq.com DocumentRoot "/var/html/bbs"#站点目录 ServerName bbs.zr.org#域名 ServerAlias zr.org#别名 ErrorLog "logs/bbs-error_log"#错误日志存放地点 CustomLog "logs/bbs-access_log" common </VirtualHost>
第四步:修改apach著配置文件:httpd.conf
主要修改的目的就是启用httpd-vhosts.conf和httpd-mpm.conf这个文件,让他的配置生效。去掉#
注意配置完事之后要检查语法:/bin/apache -t
平滑启动apache
第五步:本地解析自己的网站,修改host文件
第六步:需要再修改httpd.conf,目的是增加站点目录,在最后一行加上
<Directory "/var/html"> Options FollowSymlinks AllowOverride None Options None Order allow,deny Allow from all </Directory>
重启apache服务
第七步:访问自己的网站用域名,发现成功了
基于端口:
1.修改httpd.conf文件增加监听端口
2.再修改httd-vhost-conf文件增加NameVirtualHost *:任意端口
3.再将下面的<VirtualHost *:80>修改相应的端口
4.在访问的时候网址后面要加上端口号
基于IP地址:
增加临时IP地址:ifconfig etho:0 192.168.157.155
1.修改vhost.conf这个配文,把网站对应的域名修改成对应的ip地址,如下把blg.zr.org改成IP地址
<VirtualHost *:80> ServerAdmin 1481673412@qq.com DocumentRoot "/var/html/blg"#站点目录 ServerName blg.zr.org#域名 ServerAlias zr.org#别名 ErrorLog "logs/blg-error_log"#错误日志存放地点 CustomLog "logs/blg-access_log" common </VirtualHost>
统计不同ip的访问次数:
[root@localhost tools]# awk '{print $1}' www-access_2019-10-11log |sort|uniq -c|sort -rn -k1|head -10