文章目录
#1.虚拟主机简介
- 部署多个站点,每个站点,希望用不同的域名和站点目录,或者是不同的端口,不同的IP,需要使用到虚拟主机功能
#2.虚拟主机分类
- a)基于域名
- b)基于端口
- c)基于IP
#3.基于域名的虚拟主机部署
##3.1站点信息
域名 站点目录
www.liang.org /var/www/html/www
blog.liang.org /var/www/html/blog
bbs.liang.org /var/www/html/bbs
##3.2创建站点目录与文件
[root@http ~]# mkdir /var/www/html/{www,blog,bbs} -p
[root@http ~]# for name in www blog bbs;do echo "${name}.liang.org" >/var/www/html/${name}/index.html;done
[root@http ~]# for name in www blog bbs;do cat /var/www/html/${name}/index.html;done
www.liang.org
blog.liang.org
bbs.liang.org
##3.3编辑配置文件
[root@http ~]# vi /application/apache/conf/extra/httpd-vhosts.conf
26 NameVirtualHost *:80
27 <VirtualHost *:80>
28 ServerAdmin 1093626742@qq.com
29 DocumentRoot "/var/www/html/www"
30 ServerName www.liang.org
31 ServerAlias liang.org
32 ErrorLog "logs/www-error_log"
33 CustomLog "logs/www-access_log" common
34 </VirtualHost>
35
36 <VirtualHost *:80>
37 ServerAdmin 1093626742@qq.com
38 DocumentRoot "/var/www/html/bbs"
39 ServerName bbs.liang.org
40 ServerAlias liang.org
41 ErrorLog "logs/bbs-error_log"
42 CustomLog "logs/bbs-access_log" common
43 </VirtualHost>
44
45 <VirtualHost *:80>
46 ServerAdmin 1093626742@qq.com
47 DocumentRoot "/var/www/html/blog"
48 ServerName blog.liang.org
49 ServerAlias liang.org
50 ErrorLog "logs/blog-error_log"
51 CustomLog "logs/blog-access_log" common
52 </VirtualHost>
[root@http ~]# vi /application/apache/conf/httpd.conf
378 Include conf/extra/httpd-mpm.conf
395 # Virtual hosts
396 Include conf/extra/httpd-vhosts.conf
418 <Directory "/var/www/html">
419 Options FollowSymLinks
420 AllowOverride None
421 Order allow,deny
422 Allow from all
423 </Directory>
##3.4检查语法
[root@http conf]# /application/apache/bin/apachectl -t
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Syntax OK
##3.5平滑重启
[root@http ~]# /application/apache/bin/apachectl graceful
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
##3.6验证
##3.6.1打开另一台虚拟机
[root@localhost ~]# ifconfig eth0|head -2
eth0 Link encap:Ethernet HWaddr 00:0C:29:54:32:23
inet addr:10.0.0.139 Bcast:10.0.0.255 Mask:255.255.255.0
[root@localhost ~]# tail -1 /etc/hosts
10.0.0.128 bbs.liang.org www.liang.org blog.liang.org
##3.6.2测试
[root@localhost ~]# curl www.liang.org
www.liang.org
[root@localhost ~]# curl blog.liang.org
blog.liang.org
[root@localhost ~]# curl bbs.liang.org
bbs.liang.org
#4.基于端口的虚拟主机部署
##4.1修改主配置文件,添加监听端口
[root@http ~]# vi /application/apache/conf/httpd.conf
41 Listen 80
42 Listen 81
43 Listen 82
##4.2修改bbs.liang.org绑定81端口,blog.liang.org绑定82端口
[root@http ~]# vi /application/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:81>
ServerAdmin 1093626742@qq.com
DocumentRoot "/var/www/html/bbs"
ServerName bbs.liang.org
ErrorLog "logs/bbs-error_log"
CustomLog "logs/bbs-access_log" common
</VirtualHost>
<VirtualHost *:82>
ServerAdmin 1093626742@qq.com
DocumentRoot "/var/www/html/blog"
ServerName blog.liang.org
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
##4.3重启
[root@http ~]# /application/apache/bin/apachectl graceful
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[root@http ~]# netstat -lntup|grep httpd
tcp 0 0 :::80 :::* LISTEN 69045/httpd
tcp 0 0 :::81 :::* LISTEN 69045/httpd
tcp 0 0 :::82 :::* LISTEN 69045/httpd
##4.4验证(打开另一台虚拟机)
[root@localhost ~]# curl www.liang.org
www.liang.org
[root@localhost ~]# curl bbs.liang.org:81
bbs.liang.org
[root@localhost ~]# curl blog.liang.org:82
blog.liang.org
#5.基于IP与端口的虚拟主机部署
##5.1给eth0添加两个IP
[root@http ~]# ifconfig eth0:0 10.0.0.129/24
[root@http ~]# ifconfig eth0:1 10.0.0.130/24
[root@http ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:83:6f:43 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.128/24 brd 10.0.0.255 scope global eth0
inet 10.0.0.129/24 brd 10.0.0.255 scope global secondary eth0:0
inet 10.0.0.130/24 brd 10.0.0.255 scope global secondary eth0:1
inet6 fe80::20c:29ff:fe83:6f43/64 scope link
valid_lft forever preferred_lft forever
##5.2修改配置文件
[root@http ~]# vi /application/apache/conf/extra/httpd-vhosts.conf
19 NameVirtualHost *:80(删除这行)
26 <VirtualHost 10.0.0.128:80>
27 ServerAdmin 1093626742@qq.com
28 DocumentRoot "/var/www/html/www"
29 ServerName www.liang.org
30 ServerAlias liang.org
31 ErrorLog "logs/www-error_log"
32 CustomLog "logs/www-access_log" common
33 </VirtualHost>
34
35 <VirtualHost 10.0.0.129:81>
36 ServerAdmin 1093626742@qq.com
37 DocumentRoot "/var/www/html/bbs"
38 ServerName bbs.liang.org
39 ErrorLog "logs/bbs-error_log"
40 CustomLog "logs/bbs-access_log" common
41 </VirtualHost>
42
43 <VirtualHost 10.0.0.130:82>
44 ServerAdmin 1093626742@qq.com
45 DocumentRoot "/var/www/html/blog"
46 ServerName blog.liang.org
47 ErrorLog "logs/blog-error_log"
48 CustomLog "logs/blog-access_log" common
49 </VirtualHost>
##5.3重启
[root@http ~]# /application/apache/bin/apachectl graceful
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
5.4测试
[root@localhost ~]# curl 10.0.0.128
www.liang.org
[root@localhost ~]# curl 10.0.0.129:81
bbs.liang.org
[root@localhost ~]# curl 10.0.0.130:82
blog.liang.org