http虚拟主机配置
虚拟主机
虚拟主机有三类:
- 相同IP不同端口
- 不同IP相同端口
- 相同IP相同端口不同域名
相同ip不同端口
配置ip相同端口不同的虚拟主机1和虚拟主机2
[root@zsr conf]# vim httpd.conf
[root@zsr conf]# tail -25 httpd.conf
#virtual host 1 # 虚拟主机1的配置
<VirtualHost 192.168.17.132:80>
ServerName www.zsr.com
DocumentRoot "/var/www/html/www"
ErrorLog "/var/log/httpd/www/error_log"
CustomLog "/var/log/httpd/www/access_log" combined
<Directory /var/www/html/www>
<RequireAll>
Require all granted
Require not ip 192.168.1
</RequireAll>
</Directory>
</VirtualHost>
# virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.17.132:8000>
ServerName blog.zsr.com
DocumentRoot "/var/www/html/blog"
ErrorLog "/var/log/httpd/blog/error_log"
CustomLog "/var/log/httpd/blog/access_log" combined
<Directory /var/www/html/blog>
<RequireAll>
Require all granted
</RequireAll>
</Directory>
</VirtualHost>
[root@zsr conf]#
创建网页目录并修改属主属组
[root@zsr ~]# mkdir -p /var/www/html/{www,blog}
[root@zsr ~]#
[root@zsr ~]# chown -R apache.apache /var/www/html/
[root@zsr ~]# ll /var/www/html/
total 0
drwxr-xr-x. 2 apache apache 6 Dec 26 20:00 blog
drwxr-xr-x. 2 apache apache 6 Dec 26 20:00 www
[root@zsr ~]#
创建网页主页
[root@zsr ~]# echo 'www test' > /var/www/html/www/index.html
[root@zsr ~]# echo 'blog test' > /var/www/html/blog/index.html
[root@zsr ~]#
重启服务 查看端口号
[root@zsr ~]# systemctl restart httpd
[root@zsr ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 *:8000 *:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
[root@zsr ~]#
校验
[root@zsr ~]# curl http://192.168.17.132:80
www test
[root@zsr ~]# curl http://192.168.17.132:8000
blog test
[root@zsr ~]#
相同端口不同ip
临时加入IP
[root@zsr ~]# ip addr add 192.168.17.133/24 dev ens160
[root@zsr ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:12:51:75 brd ff:ff:ff:ff:ff:ff
inet 192.168.17.132/24 brd 192.168.17.255 scope global dynamic noprefixroute ens160
valid_lft 1592sec preferred_lft 1592sec
inet 192.168.17.133/24 scope global secondary ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe12:5175/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@zsr ~]#
修改配置文件
[root@zsr ~]# vim /usr/local/apache/conf/httpd.conf
[root@zsr ~]# tail -23 /usr/local/apache/conf/httpd.conf
ServerName www.zsr.com
DocumentRoot "/var/www/html/www"
ErrorLog "/var/log/httpd/www/error_log"
CustomLog "/var/log/httpd/www/access_log" combined
<Directory /var/www/html/www>
<RequireAll>
Require all granted
Require not ip 192.168.1
</RequireAll>
</Directory>
</VirtualHost>
# virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.17.133:80>
ServerName blog.zsr.com
DocumentRoot "/var/www/html/blog"
ErrorLog "/var/log/httpd/blog/error_log"
CustomLog "/var/log/httpd/blog/access_log" combined
<Directory /var/www/html/blog>
<RequireAll>
Require all granted
</RequireAll>
</Directory>
</VirtualHost>
[root@zsr ~]#
校验
[root@zsr ~]# systemctl restart httpd
[root@zsr ~]# curl http://192.168.17.133
blog test
[root@zsr ~]# curl http://192.168.17.132
www test
[root@zsr ~]#
相同ip和端口 域名不同
修改配置
[root@zsr ~]# vim /usr/local/apache/conf/httpd.conf
[root@zsr ~]# tail -23 /usr/local/apache/conf/httpd.conf
ServerName www.zsr.com
DocumentRoot "/var/www/html/www"
ErrorLog "/var/log/httpd/www/error_log"
CustomLog "/var/log/httpd/www/access_log" combined
<Directory /var/www/html/www>
<RequireAll>
Require all granted
Require not ip 192.168.1
</RequireAll>
</Directory>
</VirtualHost>
# virtual host 2 # 虚拟主机2的配置
<VirtualHost 192.168.17.133:80>
ServerName blog.zsr.com
DocumentRoot "/var/www/html/blog"
ErrorLog "/var/log/httpd/blog/error_log"
CustomLog "/var/log/httpd/blog/access_log" combined
<Directory /var/www/html/blog>
<RequireAll>
Require all granted
</RequireAll>
</Directory>
</VirtualHost>
修改本机hosts文件添加域名
就可以实现不同域名虚拟主机