千家信息网

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

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,构建虚拟主机虚拟Web主机:1.在同一-台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机httpd支持的虚拟主机类型:1.基于域名的虚拟主机(企业常用)2.基于IP地址的虚
千家信息网最后更新 2026年10月31日Apache虚拟主机的访问方式(基于域名、端口、IP)

构建虚拟主机

虚拟Web主机:

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

httpd支持的虚拟主机类型:

1.基于域名的虚拟主机(企业常用)
2.基于IP地址的虚拟主机
3.基于端口的虚拟主机

大型公司实例项目:
两台物理主机(A/B)
两台主机中分别有两个虚拟站点
主机A和B中都有accp网站和kgc网站
网站内容完全相同,对外提供业务时,既用到了合理分配,也起到了双机热备
学习一台主机架构两个网站

一.构建虚拟主机一 基于域名

应用示例:

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

为虚拟主机提供域名解析:
[root@dnssvr ~]# vim /var/named/chroot/var/named/kgc.com.zone@   IN  NS  dnssvr.kgc.com.dnssvr IN   A   173.1 7.1 7.2www IN  A   173.17.17.11[root@dnssvr ~]# vim /var/named/chroot/var/named/kcce.com.zone@   IN  NS  dnssvr.kgc.com.www IN  A   1 73.1 7.1 7.1 1
为虚拟主机准备网页文档:
[root@www ~]# mkdir -p /var/www/html/kgccom[root@www ~]# mkdir -p /var/www/html/kccecom[root@www ~]# echo "

www.kgc.com

" >/var/www/html/kgccom/index.html[root@www ~]# echo "

www.kcce.com

" >/var/www/html/kccecom/index.html
添加虚拟主机配置:
[root@www ~]# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf    DocumentRoot "/var/www/html/kgccom"    ServerName www.kgc.com    ErrorLog "logs/www.kgc.com.error_log"    CustomLog "logs/www.kgc.com.access_log" common    < Directory "/var/www/html" >        Require all granted        DocumentRoot "/var/www/html/kccecom"    ServerName www.kcce.com
在客户机分别访问虚拟Web主机

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

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

[root@localhost ~]# ifconfigens33: 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 0ens36: 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 httpd -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]# lsdata  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.1www 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.1www 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 www.accp.com服务器:  UnKnownAddress:  192.168.56.131名称:    www.accp.comAddress:  192.168.56.131C:\Windows\system32>nslookup www.kgc.com服务器:  UnKnownAddress:  192.168.56.131名称:    www.kgc.comAddress:  192.168.56.131//此时通过验证表明DNS的解析是没有问题的,接下来我们就可以做网站了
做虚拟主机配置文件:
[root@localhost named]# cd /etc/httpd[root@localhost httpd]# lsconf  conf.d  conf.modules.d  logs  modules  run[root@localhost httpd]# cd conf[root@localhost conf]# lshttpd.conf  magic[root@localhost conf]# mkdir extra[root@localhost conf]# lsextra  httpd.conf  magic[root@localhost conf]# cd extra/[root@localhost extra]# vim vhost.conf  DocumentRoot "/var/www/html/accp/"        //站点目录  ServerName www.accp.com       //域名  ErrorLog "logs/www.accp.com.error_log"        //错误日志  CustomLog "logs/www.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 www.kgc.com 14   ErrorLog "logs/www.kgc.com.error_log" 15   CustomLog "logs/www.kgc.com.access_log" common 16    17     Require all granted 18    19 修改完成后按Esc,输入:wq保存退出
[root@localhost extra]# cd ../../[root@localhost httpd]# lsconf  conf.d  conf.modules.d  logs  modules  run[root@localhost httpd]# pwd/etc/httpd          //参考点,以工作目录为参考[root@localhost httpd]# ls -l总用量 0drwxr-xr-x. 3 root root  50 10月 22 22:36 confdrwxr-xr-x. 2 root root  82 10月 22 21:53 conf.ddrwxr-xr-x. 2 root root 146 10月 22 21:53 conf.modules.dlrwxrwxrwx. 1 root root  19 10月 22 21:53 logs -> ../../var/log/httpd    //软链接在此目录下lrwxrwxrwx. 1 root root  29 10月 22 21:53 modules -> ../../usr/lib64/httpd/moduleslrwxrwxrwx. 1 root root  10 10月 22 21:53 run -> /run/httpd[root@localhost httpd]# cd /var/log/httpd/[root@localhost httpd]# ls//此时是空的,因为没有启动,所以没有日志文件
创建站点:
[root@localhost httpd]# cd /var/www/html/[root@localhost html]# ls[root@localhost html]# mkdir accp kgc[root@localhost html]# lsaccp  kgc[root@localhost html]# cd accp/[root@localhost accp]# ls[root@localhost accp]# vim index.html

this is accp web

输入完成后按Esc,输入:wq保存退出[root@localhost accp]# cd ../kgc/[root@localhost kgc]# vim index.html

this is kgc web

输入完成后按Esc,输入:wq保存退出在主配置文件中的包含语句需要进行检查,因为之前的写入内容未在主配置文件中进行声明:[root@localhost kgc]# cd /etc/httpd/[root@localhost httpd]# cd conf/extra/[root@localhost extra]# lsvhost.conf[root@localhost extra]# pwd/etc/httpd/conf/extra[root@localhost extra]# cd ../../[root@localhost httpd]# lsconf conf.d conf.modules.d logs modules run[root@localhost httpd]# pwd/etc/httpd[root@localhost httpd]# cd conf[root@localhost conf]# lsextra httpd.conf magic[root@localhost conf]# vim httpd.conf //按大写字母G到末行,按o在下行插入Include conf/extra/vhost.conf输入完成后按Esc,输入:wq保存退出 [root@localhost extra]# systemctl start httpd
验证:用win7的浏览器,输入:www.accp.com / www.kgc.com


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

--------------------------------------------------

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

应用示例:

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

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

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

[root@localhost extra]# vim vhost.conf   DocumentRoot "/var/www/html/kgc02/"   ServerName www.kgc.com   ErrorLog "logs/www.kgc02.com.error_log"   CustomLog "logs/www.kgc02.com.access_log" common         Require all granted   输入完成后按Esc,输入:wq保存退出[root@localhost extra]# cd /var/www/html/[root@localhost html]# lsaccp  kgc[root@localhost html]# mkdir kgc02[root@localhost html]# lsaccp  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:80Listen 192.168.56.131:8080#Listen 80此处需要做的更改的是把IPv6的监听给注释关闭,同时把IPv4的监听地址更换为自己Linux的IP地址,使用yy复制,在下行粘贴,将端口改为8080#修改完成后按Esc,输入:wq保存退出[root@localhost kgc02]# systemctl restart httpd //重启服务[root@localhost kgc02]# netstat -ntapActive 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/httpd tcp 0 0 192.168.56.131:80 0.0.0.0:* LISTEN 52732/httpd #此时可以看到两个端口都处于监听状态

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

此时显示的就是我们预先写好的8080端口的kgc02的网页主页
如果输入:www.kgc.com:80,那就还显示this is kgc web的界面

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

--------------------------------------------------

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

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

[root@localhost kgc02]# cd /etc/httpd/conf/extra/[root@localhost extra]# lsvhost.conf[root@localhost extra]# vim vhost.conf//11,29 s/^/#/g     //全局把11行到29行进行注释,此处不需要使用         //此处将*号修改为第一张网卡的IP  DocumentRoot "/var/www/html/accp/"  ErrorLog "logs/www.accp.com.error_log"  CustomLog "logs/www.accp.com.access_log" common      Require all granted    //此处将*号改为第二张网卡的IP,并将下面的accp改为accp02以作区分  DocumentRoot "/var/www/html/accp02/"  ErrorLog "logs/www.accp02.com.error_log"  CustomLog "logs/www.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.confListen 192.168.56.131:80Listen 192.168.56.134:80#Listen 192.168.56.131:8080把8080端口进行注释,并添加一行192.168.56.134的80端口监听#修改完成后按Esc,输入:wq保存退出[root@localhost accp02]# systemctl restart httpd
验证:用win7的浏览器,输入: 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 www.accp.com  ErrorLog "logs/www.accp.com.error_log"  CustomLog "logs/www.accp.com.access_log" common      Require all granted    DocumentRoot "/var/www/html/accp02/"  ServerName www.naccp.com  ErrorLog "logs/www.accp02.com.error_log"  CustomLog "logs/www.accp02.com.access_log" common      Require all granted  #以上两段需要添加ServerName
添加新区域:
[root@localhost extra]# vim /etc/named.rfc1912.zoneszone "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.1www IN  A       192.168.56.134      //IP地址改为二网卡的地址#修改完成后按Esc,输入:wq保存退出[root@localhost named]# systemctl restart named[root@localhost named]# systemctl restart httpd         //重启服务
验证:用win7的浏览器,输入: www.accp.com / www.naccp.com


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

输入 主机 虚拟主机 地址 端口 文件 域名 站点 配置 网卡 监听 两个 内容 浏览器 服务 浏览 不同 网站 验证 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 湖北九亚互联网络科技有限公司 互联网科技公司经营范围 嘟嘟瓜互联网科技 广州宏创互联网科技 互联网科技的英文 猫创互联网科技 随着互联网科技发展 荆州市昕露互联网络科技有限公司 中国航天科技大学国际工业互联网 新兴科技互联网创新大赛颁奖典礼 互联网科技的全部知识 长沙互联网科技 梅州GM互联网络科技有限公司 杭州披云加互联网科技有限公司 广州百诚互联网科技有限公司官网 易企秀互联网科技是做什么的 艺电能源互联网科技有限公司招聘 互联网科技大佬云集 如何强化互联网金融科技 新华互联网科技学校 国智互联网科技 没上市的科技互联网公司 深圳互联网络科技有限公司 安徽鑫晟辉互联网科技 互联网企业和科技型企业 互联网经济与金融科技 民营互联网公司国防科技 互联网金融运营模式中的金融科技 互联网 科技节活动 微视频大赛
0