linux实验之虚拟主机的配置

有关于虚拟主机的配置 ,大致可以分为三种即基于端口,基于ip和基于FQDN(域名)配置方法,接下来我就简单的介绍一下三种不同的配置方式吧!

  • (一)基于端口的虚拟主机配置

一个简单的socket套接字有ip和端口号共同组成,基于端口的配置,即ip地址是相同的,服务所监听的端口号不同。

1、先创建对应目录和页面对应文件

[root@bbs ~]# mkdir -pv /app/website{1,2}
[root@bbs ~]# cd /app/website1
[root@bbs website1]# echo website1 >index.html
[root@bbs ~]# cd /app/website2
[root@bbs website2]# echo website2 >index.html

2、编写对应的http文件实现不同端口的监听

[root@bbs ~]#vim /etc/httpd/conf.d/vhost.conf          (Listen 8080   Listen 9090)
<VirtualHost *:8080>
     DocumentRoot "/app/website1"     对应的主目录
     <Directory "/app/website1">   
     Require all granted     允许所有可访问
     </Directory>    
</VirtualHost>
<VirtualHost *:9090>
     DocumentRoot "/app/website2"
     <Directory "/app/website2">
     Require all granted
     </Directory>    
</VirtualHost>

3、关闭防火墙和selinux,重启服务

[root@bbs ~]# !sys
systemctl restart httpd
[root@bbs ~]# setenforce 0
[root@bbs ~]# iptables –F

4、用curl命令进行测试或浏览器进行访问注意浏览器进行访问时要指定host文件,验证配置是否成功。

[root@bbs ~]# curl http://172.18.254.181:8080
website1
  • (二)基于ip的虚拟主机配置

由上可知基于ip,即是ip不同但是对应端口号相同。仍然使用上述对应目录即可。

1、同上

[root@bbs ~]# mkdir -pv /app/website{1,2}
[root@bbs ~]# cd /app/website1
[root@bbs website1]# echo website1 >index.html
[root@bbs ~]# cd /app/website2
[root@bbs website2]# echo website2 >index.html

2、给网卡添加地址

[root@bbs ~]# ifconfig ens34:0 172.18.254.17/24
[root@bbs ~]# ifconfig ens34:1 172.18.254.27/24

3、编写对应配置文件

[root@bbs ~]# vim /etc/httpd/conf.d/vhost.conf 
<VirtualHost 172.18.254.17:80>
     DocumentRoot "/app/website1"
     <Directory "/app/website1">
     Require all granted
     </Directory>
</VirtualHost>
<VirtualHost 172.18.254.27:80>
     DocumentRoot "/app/website2"
     <Directory "/app/website2">
     Require all granted
     </Directory>
</VirtualHost>

4、重启服务并验证

[root@bbs ~]# !sys
systemctl restart httpd
[root@bbs ~]# curl http://172.18.254.17
website1
  • (三)基于域名的虚拟主机

做这个实验时,用到了dns域名解析服务,那么我们就先来配置一下dns,然后在搭建虚拟主机,当然你也可以使用别的方法来进行实验。

1、修改及编写dns相关的文件

[root@bbs ~]# vim /etc/named.conf

options {
         listen-on port 53 { any; };
         listen-on-v6 port 53 { ::1; };
         directory       "/var/named";
         dump-file       "/var/named/data/cache_dump.db";
         statistics-file "/var/named/data/named_stats.txt";
         memstatistics-file "/var/named/data/named_mem_stats.txt";
         allow-query     { any; };    设置两个any,其他内容保持不变。

[root@bbs named]# vim /etc/named.rfc1912.zones

zone "magedu.com" IN {
         type master;
         file "magedu.com.zone";

};

[root@bbs named]# vim magedu.com.zone 
$TTL 1D
@       IN SOA magedu.com.    admin.magedu.com. (
                                             0       ; serial
                                             1D      ; refresh
                                             1H      ; retry
                                             1W      ; expire
                                                 3H )    ; minimum

magedu.com.                 NS   bbs.magedu.com.

magedu.com.                 NS   www.magedu.com.
www.magedu.com.                     A    172.18.254.181

bbs.magedu.com.                        A    172.18.254.181

2、指定本机访问自己网址

[root@bbs named]# cat /etc/resolv.conf
# Generated by NetworkManager
search magedu.com localdomain
nameserver 172.18.254.181

3、用nslookup进行客服端验证

[root@bbs named]# nslookup www.magedu.com
Server:        172.18.254.181
Address:    172.18.254.181#53
Name:    www.magedu.com
Address: 172.18.254.181
[root@bbs named]# nslookup bbs.magedu.com
Server:        172.18.254.181
Address:    172.18.254.181#53
Name:    bbs.magedu.com
Address: 172.18.254.181

4、编写http对应配置文件

[root@bbs ~]# vim /etc/httpd/conf.d/vhost.conf 
<VirtualHost *:80>
     ServerName  www.baidu.com
     DocumentRoot "/app/website1"
     CustomLog "logs/www.baidu.com_access_log" combined
     <Directory "/app/website1">
     Require all granted
     </Directory>
</VirtualHost>
<VirtualHost *:80>
     ServerName  bbs.baidu.com
     DocumentRoot "/app/website2"
     CustomLog "logs/bbs.baidu.com_access_log" combined
     <Directory "/app/website2">
     Require all granted
     </Directory>
</VirtualHost>

  5、重启相应服务并验证

[root@bbs named]# curl www.magedu.com
website1

以上就是虚拟主机的相关配置。

猜你喜欢

转载自www.cnblogs.com/w-s-y/p/9832407.html