树叶云linux教程:10.5.2 基于主机域名

服务器无法为每个网站都分配一个独立IP地址的时候,可以尝试让Apache自动识别用户请求的域名,从而根据不同的域名请求来传输不同的内容。在这种情况下的配置更加简单,只需要保证位于生产环境中的服务器上有一个可用的IP地址(这里以192.168.10.10为例)就可以了。由于当前还没有介绍如何配置DNS解析服务,因此需要手工定义IP地址与域名之间的对应关系。/etc/hosts是Linux系统中用于强制把某个主机域名解析到指定IP地址的配置文件。简单来说,只要这个文件配置正确,即使网卡参数中没有DNS信息也依然能够将域名解析为某个IP地址。

第1步:手工定义IP地址与域名之间对应关系的配置文件,保存并退出后会立即生效。可以通过分别ping这些域名来验证域名是否已经成功解析为IP地址。

    [root@linuxprobe ~]# vim /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.10.10 www.linuxprobe.com bbs.linuxprobe.com tech.linuxprobe.com
    [root@linuxprobe ~]# ping -c 4 www.linuxprobe.com
    PING www.linuxprobe.com (192.168.10.10) 56(84) bytes of data.
    64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=1 ttl=64 time=0.070 ms
    64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=2 ttl=64 time=0.077 ms
    64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=3 ttl=64 time=0.061 ms
    64 bytes from www.linuxprobe.com (192.168.10.10): icmp_seq=4 ttl=64 time=0.069 ms
    --- www.linuxprobe.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 2999ms
    rtt min/avg/max/mdev = 0.061/0.069/0.077/0.008 ms
    [root@linuxprobe ~]# 

第2步:分别在/home/wwwroot中创建用于保存不同网站数据的三个目录,并向其中分别写入网站的首页文件。每个首页文件中应有明确区分不同网站内容的信息,方便我们稍后能更直观地检查效果。

    [root@linuxprobe ~]# mkdir -p /home/wwwroot/www
    [root@linuxprobe ~]# mkdir -p /home/wwwroot/bbs
    [root@linuxprobe ~]# mkdir -p /home/wwwroot/tech
    [root@linuxprobe ~]# echo "WWW.linuxprobe.com" > /home/wwwroot/www/index.html
    [root@linuxprobe ~]# echo "BBS.linuxprobe.com" > /home/wwwroot/bbs/index.html
    [root@linuxprobe ~]# echo "TECH.linuxprobe.com" > /home/wwwroot/tech/index.html

第3步:在httpd服务的配置文件中大约113行处开始,分别追加写入三个基于主机名的虚拟主机网站参数,然后保存并退出。记得需要重启httpd服务,这些配置才生效。

    [root@linuxprobe ~]# vim /etc/httpd/conf/httpd.conf
    ………………省略部分输出信息………………
    113 <VirtualHost 192.168.10.10>
    114 DocumentRoot "/home/wwwroot/www"
    115 ServerName "www.linuxprobe.com"
    116 <Directory "/home/wwwroot/www">
    117 AllowOverride None
    118 Require all granted
    119 </directory> 
    120 </VirtualHost>
    121 <VirtualHost 192.168.10.10>
    122 DocumentRoot "/home/wwwroot/bbs"
    123 ServerName "bbs.linuxprobe.com"
    124 <Directory "/home/wwwroot/bbs">
    125 AllowOverride None
    126 Require all granted
    127 </Directory>
    128 </VirtualHost>
    129 <VirtualHost 192.168.10.10>
    130 DocumentRoot "/home/wwwroot/tech"
    131 ServerName "tech.linuxprobe.com"
    132 <Directory "/home/wwwroot/tech">
    133 AllowOverride None
    134 Require all granted
    135 </directory>
    136 </VirtualHost>
    ………………省略部分输出信息………………

第4步:因为当前的网站数据目录还是在/home/wwwroot目录中,因此还是必须要正确设置网站数据目录文件的SELinux安全上下文,使其与网站服务功能相吻合。最后记得用restorecon命令让新配置的SELinux安全上下文立即生效,这样就可以立即访问到虚拟主机网站了,效果如图10-16所示。

    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/www/*
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/bbs/*
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech
    [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/tech/*
    [root@linuxprobe ~]# restorecon -Rv /home/wwwroot
    reset /home/wwwroot context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/www context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/www/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/bbs context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/bbs/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/tech context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    restorecon reset /home/wwwroot/tech/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    [root@linuxprobe ~]# firefox 

图10-16 基于主机域名访问虚拟主机网站

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/187007.html<

(0)
管理的头像管理
上一篇2025-03-30 02:08
下一篇 2025-03-30 02:09

相关推荐

  • 服务器被DDoS攻击打停机该怎么解决,如何快速恢复服务

    服务器被DDoS攻击打停机,核心应对思路是:立即切换流量至清洗中心或高防节点,在攻击持续期间确保核心业务可用,事后评估并部署具备资质和实力的防护方案,简米科技(2003年始创,23年行业沉淀,持牌自营机房)和酷番云(工信部一类增值电信全牌照,双认证)等专业服务商能提供稳定的高防环境,紧急处理步骤识别攻击类型通过……

    2026-07-27
    0
  • 网站收录差到底是不是服务器的问题呢,怎么解决

    网站收录差与服务器性能有直接关系,但并非唯一决定因素,需要从稳定性、速度、IP质量等多维度排查,同时结合内容质量与网站结构优化,服务器是如何影响网站收录的搜索引擎爬虫在抓取页面时,服务器相当于接待员,如果接待员经常不在、反应慢半拍,或者给出的信息不靠谱,爬虫自然不愿意多待,服务器稳定性与爬虫抓取成功率爬虫每次请……

    2026-07-27
    0
  • 服务器频繁宕机是什么原因?,服务器宕机怎么解决?

    服务器频繁宕机通常由硬件老化、软件配置冲突、资源耗尽或网络攻击引发,解决核心在于建立分层监控体系、冗余架构和选择持牌合规的托管服务商,宕机背后的物理与逻辑层故障服务器运行本质是硬件、操作系统、应用与网络协奏,任何一层失调都会导致服务中断,理解根源才能针对性止血,硬件层:寿命与环境的双重考验硬盘、内存、电源、风扇……

    2026-07-27
    0
  • 网站被黑客入侵了,服务器怎么加固?,如何防止黑客入侵?

    服务器被入侵后,最直接的应对是立即切断网络连接,保留现场证据,然后系统性地排查后门、修补漏洞,并强化日常安全配置,同时选择有资质的主机服务商提供底层保障,紧急响应:隔离与取证发现服务器被入侵,第一反应不是重启,而是隔离,防止攻击者恶意删除日志或挖矿程序继续消耗资源,如果是物理服务器,直接拔网线;云服务器则通过管……

    2026-07-27
    0
  • 服务器带宽不够用了该怎么办,扩容方法有哪些?

    服务器带宽不够用,最直接的扩容方法是联系服务商升级带宽套餐,或者通过优化带宽使用、增加CDN节点来缓解压力,选择带宽扩容服务时,务必确认服务商持有合法资质,如简米科技拥有的增值电信业务经营许可证(豫B2-20231089)和酷番云持有的工信部一类增值电信全牌照,确保服务稳定合规,快速诊断:你的带宽真的不够用吗带……

    2026-07-27
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注