Apache虚拟主机的访问方式(基于域名、端口、IP)(apache配置域名访问)

网友投稿 332 2022-09-12


Apache虚拟主机的访问方式(基于域名、端口、IP)(apache配置域名访问)

构建虚拟主机

虚拟Web主机:

1.在同一-台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机

基于域名

应用示例:

1.构建2个虚拟Web站点kgc.com, IP地址为173.17.17.11kcce.com, IP地址为173.17.17.112.在浏览器中访问这两个域名时,分别显示不同的内容

为虚拟主机提供域名解析:

[root@dnssvr ~]# vim /var/named/chroot/var/named/kgc.com.zone @ IN NS dnssvr.kgc.com. dnssvr IN A 173.1 7.1 7.2 IN A 173.17.17.11 [root@dnssvr ~]# vim /var/named/chroot/var/named/kcce.com.zone @ IN NS dnssvr.kgc.com. IN A 1 73.1 7.1 7.1 1

为虚拟主机准备网页文档:

[root@~]# mkdir -p /var/www/html/kgccom [root@~]# mkdir -p /var/www/html/kccecom [root@~]# echo " kgc.com" > /var/www/html/kgccom/index.html [root@~]# echo " kcce.com " > /var/~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf DocumentRoot "/var/www/html/kgccom" ServerName kgc.com ErrorLog "logs/kgc.com.error_log" CustomLog "logs/kgc.com.access_log" common < Directory "/var/> Require all granted DocumentRoot "/var/www/html/kccecom" ServerName kcce.com

在客户机分别访问虚拟Web主机

Demo1:基于域名访问虚拟主机

在虚拟机设置中添加网卡第二张网卡,并显示:

[root@localhost ~]# ifconfig ens33: flags=4163 mtu 1500 inet 192.168.56.131 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::a7c6:cf70:62f2:faf0 prefixlen 64 scopeid 0x20 ether 00:0c:29:86:f9:b2 txqueuelen 1000 (Ethernet) RX packets 667004 bytes 977833518 (932.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 165563 bytes 10169247 (9.6 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens36: flags=4163 mtu 1500 inet 192.168.56.134 netmask 255.255.255.0 broadcast 192.168.56.255 inet6 fe80::9ce4:351a:2c74:9ad5 prefixlen 64 scopeid 0x20 ether 00:0c:29:86:f9:bc txqueuelen 1000 (Ethernet) RX packets 216 bytes 17516 (17.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26 bytes 4391 (4.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 //目前主机中有两张网卡:ens33和ens36,地址分别为:192.168.56.131和 192.168.56.134

安装软件包:

[root@localhost ~]# yum install bind -y

修改DNS的配置文件:

[root@localhost ~]# vim /etc/named.conf options { listen-on port 53 { any; }; //其中的127.0.0.1改为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"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; allow-query { any; }; //其中的locahost改为any 修改完成后按Esc,输入:wq保存退出

修改区域配置文件:

[root@localhost ~]# vim /etc/named.rfc1912.zones //找到以下格式,按5yy复制五行,在任意一个5行的最后一行按o在下一行插入,修改其中域名 zone "accp.com" IN { type master; file "accp.com.zone"; allow-update { none; }; }; zone "kgc.com" IN { type master; file "kgc.com.zone"; allow-update { none; }; }; 修改完成后按Esc,输入:wq保存退出

修改区域数据配置文件:

[root@localhost ~]# cd /var/named/ [root@localhost named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@localhost named]# cp -p named.localhost accp.com.zone [root@localhost named]# vim accp.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 IN A 192.168.56.131 //此处为添加的主机A记录,地址指向自己 //需要删除IPv6的解析 修改完成后按Esc,输入:wq保存退出 [root@localhost named]# cp -p accp.com.zone kgc.com.zone [root@localhost named]# vim kgc.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 IN A 192.168.56.131 //此处的文件内容不需要做任何修改 可直接输入:q退出 //为方便后面测试解析,接下来我们启动服务,并关闭防火墙及安全功能 [root@localhost named]# systemctl start named [root@localhost named]# systemctl stop firewalld.service [root@localhost named]# setenforce 0

此时可以测试是否可以进行DNS解析:

此处我们使用一台win7虚拟机进行DNS的解析: 先需要在网络的更改适配器设置中对IPv4的DNS地址进行修改:192.168.56.131 //此处修改的是DNS主机的地址 再使用管理员身份运行cmd命令: C:\Windows\system32>nslookup accp.com 服务器: UnKnown Address: 192.168.56.131 名称: accp.com Address: 192.168.56.131 C:\Windows\system32>nslookup kgc.com 服务器: UnKnown Address: 192.168.56.131 名称: kgc.com Address: 192.168.56.131 //此时通过验证表明DNS的解析是没有问题的,接下来我们就可以做网站了

做虚拟主机配置文件:

[root@localhost named]# cd /etc/httpd [root@localhost ls conf conf.d conf.modules.d logs modules run [root@localhost cd conf [root@localhost conf]# ls magic [root@localhost conf]# mkdir extra [root@localhost conf]# ls extra magic [root@localhost conf]# cd extra/ [root@localhost extra]# vim vhost.conf DocumentRoot "/var/ //站点目录 ServerName accp.com //域名 ErrorLog "logs/accp.com.error_log" //错误日志 CustomLog "logs/accp.com.access_log" common //访问日志 Require all granted //访问权限为允许所有 按Esc退出插入模式,输入:11,19 s/accp/kgc/g //把从11行到19行把其中的accp改成kgc,做全局替换 11 12 DocumentRoot "/var/www/html/kgc/" 13 ServerName kgc.com 14 ErrorLog "logs/kgc.com.error_log" 15 CustomLog "logs/kgc.com.access_log" common 16 17 Require all granted 18 19 修改完成后按Esc,输入:wq保存退出

[root@localhost extra]# cd ../../ [root@localhost ls conf conf.d conf.modules.d logs modules run [root@localhost pwd /etc/ //参考点,以工作目录为参考 [root@localhost ls -l 总用量 0 drwxr-xr-x. 3 root root 50 10月 22 22:36 conf drwxr-xr-x. 2 root root 82 10月 22 21:53 conf.d drwxr-xr-x. 2 root root 146 10月 22 21:53 conf.modules.d lrwxrwxrwx. 1 root root 19 10月 22 21:53 logs -> ../../var/log/ //软链接在此目录下 lrwxrwxrwx. 1 root root 29 10月 22 21:53 modules -> ../../usr/lib64/httpd/modules lrwxrwxrwx. 1 root root 10 10月 22 21:53 run -> /run/httpd [root@localhost cd /var/log/httpd/ [root@localhost ls //此时是空的,因为没有启动,所以没有日志文件

创建站点:

验证:用win7的浏览器,输入:accp.com / kgc.com

以上就是基于域名的方式来访问虚拟主机

——————————————————————————————————————————————————

二.构建虚拟主机 一 基于端口

应用示例:

1.构建两个个虚拟Web站点kcce.com, IP地址、端口为173.17.17.11:80kcce.com, IP地址、端口为173.17.17.11:8353 2.在浏览器中访问这两个端口时,分别显示不同的内容

[root@~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf < VirtualHost 173.1 7.17.11:80> DocumentRoot "/var/www/htm/kccecom" ServerName kcce.com DocumentRoot "/var/www/htm/kccepad" ServerName kcce.com Listen 80 Listen 8353 #监听端口写在主配置文件中

Demo2:基于不同的端口进行访问

[root@localhost extra]# vim vhost.conf DocumentRoot "/var/www/html/kgc02/" ServerName kgc.com ErrorLog "logs/kgc02.com.error_log" CustomLog "logs/kgc02.com.access_log" common Require all granted 输入完成后按Esc,输入:wq保存退出 [root@localhost extra]# cd /var/www/html/ [root@localhost html]# ls accp kgc [root@localhost html]# mkdir kgc02 [root@localhost html]# ls accp kgc kgc02 [root@localhost html]# cd kgc02/ [root@localhost kgc02]# vim index.html this is kgc02 web 输入完成后按Esc,输入:wq保存退出 [root@localhost kgc02]# vim /etc/httpd/conf/httpd.conf 输入:/Listen查到到监听端口位置 Listen 192.168.56.131:80 Listen 192.168.56.131:8080 #Listen 80 此处需要做的更改的是把IPv6的监听给注释关闭,同时把IPv4的监听地址更换为自己Linux的IP地址,使用yy复制,在下行粘贴,将端口改为8080 #修改完成后按Esc,输入:wq保存退出 [root@localhost kgc02]# systemctl restart //重启服务 [root@localhost kgc02]# netstat -ntap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 192.168.56.131:8080 0.0.0.0:* LISTEN 52732/ tcp 0 0 192.168.56.131:80 0.0.0.0:* LISTEN 52732/ #此时可以看到两个端口都处于监听状态

验证:用win7的浏览器,输入: kgc.com:8080

以上就是基于端口的方式来访问虚拟主机

——————————————————————————————————————————————————

Demo3:基于不同的IP进行访问

此前我们有两张网卡地址分别为:192.168.56.131和192.168.56.134,此处需要用上

[root@localhost kgc02]# cd /etc/httpd/conf/extra/ [root@localhost extra]# ls vhost.conf [root@localhost extra]# vim vhost.conf //11,29 s/^/#/g //全局把11行到29行进行注释,此处不需要使用 //此处将*号修改为第一张网卡的IP DocumentRoot "/var/www/html/accp/" ErrorLog "logs/accp.com.error_log" CustomLog "logs/accp.com.access_log" common Require all granted //此处将*号改为第二张网卡的IP,并将下面的accp改为accp02以作区分 DocumentRoot "/var/www/html/accp02/" ErrorLog "logs/accp02.com.error_log" CustomLog "logs/accp02.com.access_log" common Require all granted #修改完成后按Esc,输入:wq保存退出

创建目录站点:

[root@localhost extra]# cd /var/www/html/ [root@localhost html]# mkdir accp02 [root@localhost html]# cd accp02/ [root@localhost accp02]# vim index.html this is 134 accp02 web #输入完成后按Esc,输入:wq保存退出 [root@localhost accp02]# vim ../accp/index.html this is 131 accp web #修改完成后按Esc,输入:wq保存退出

修改监听地址:

[root@localhost accp02]# vim /etc/httpd/conf/httpd.conf Listen 192.168.56.131:80 Listen 192.168.56.134:80 #Listen 192.168.56.131:8080 把8080端口进行注释,并添加一行192.168.56.134的80端口监听 #修改完成后按Esc,输入:wq保存退出 [root@localhost accp02]# systemctl restart 192.168.56.131 / 192.168.56.134

修改DNS:

[root@localhost accp02]# cd /etc/httpd/conf/extra/ [root@localhost extra]# vim vhost.conf DocumentRoot "/var/www/html/accp/" ServerName accp.com ErrorLog "logs/accp.com.error_log" CustomLog "logs/accp.com.access_log" common Require all granted DocumentRoot "/var/www/html/accp02/" ServerName naccp.com ErrorLog "logs/accp02.com.error_log" CustomLog "logs/accp02.com.access_log" common Require all granted #以上两段需要添加ServerName

添加新区域:

[root@localhost extra]# vim /etc/named.rfc1912.zones zone "naccp.com" IN { type master; file "naccp.com.zone"; allow-update { none; }; }; #添加以上内容 #修改完成后按Esc,输入:wq保存退出 [root@localhost extra]# cd /var/named/ [root@localhost named]# cp -p accp.com.zone naccp.com.zone [root@localhost named]# vim naccp.com.zone $TTL 1D @ IN SOA @ rname.invalid. ( 0 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum NS @ A 127.0.0.1 IN A 192.168.56.134 //IP地址改为二网卡的地址 #修改完成后按Esc,输入:wq保存退出 [root@localhost named]# systemctl restart named [root@localhost named]# systemctl restart //重启服务

验证:用win7的浏览器,输入: accp.com / naccp.com

以上就是基于不同IP的方式访问虚拟主机


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Apache虚拟主机的访问方式(基于权限)(请简述在Apache中配置虚拟主机的作用)
下一篇:Easypoi&nbsp;轻松实现复杂excel文件导出功能
相关文章

 发表评论

暂时没有评论,来抢沙发吧~