Apache虚拟主机的访问方式(基于域名、端口、IP)
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,构建虚拟主机虚拟Web主机:1.在同一-台物理服务器中运行多个Web站点,其中每一个站点并不独立占用一台真正的计算机httpd支持的虚拟主机类型:1.基于域名的虚拟主机(企业常用)2.基于IP地址的虚
千家信息网最后更新 2024年11月24日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.htmlthis is accp web
输入完成后按Esc,输入:wq保存退出[root@localhost accp]# cd ../kgc/[root@localhost kgc]# vim index.htmlthis 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.com Listen 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.htmlthis 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.htmlthis is 134 accp02 web
#输入完成后按Esc,输入:wq保存退出[root@localhost accp02]# vim ../accp/index.htmlthis 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安全错误
数据库的锁怎样保障安全
idea连接到数据库
2016年湖湘杯网络安全
数据库使用什么做主键
头部互联网金融科技公司
交通运输局网络安全实施方案
同花顺数据库可以拉数据嘛
网络安全自学一般要学多久
软件开发规范怎么好用
服务器起立
网络安全与元宇宙
优酷视频不能连接文件服务器
高密慧中网络技术有限公司
外商在济南软件开发公司
202w网络技术挑战赛
mysql 拷数据库
咸阳软件开发公司
图像检测训练数据库
如何让两个数据库镜像
河北纵贯线网络技术公司
网络安全自学能学会吗
c++软件开发步骤
厦门哪里可以学软件开发
在哪能进入tcga数据库
煤矿工业网络技术
三种网络安全体系结构分析
交通运输局网络安全实施方案
国际基岩版服务器怎么开
南昌汉同网络技术有限公司
怎么改数据库的名字 代码
linq批量更新数据库