Linux中Apache与Web之虚拟主机配置指南

发布于:2025-08-13 ⋅ 阅读:(18) ⋅ 点赞:(0)

Linux中Apache与Web之虚拟主机配置指南

一、虚拟主机概述

目的:在同一台服务器上部署多个独立站点(如 baidu、taobao)。
实现方式

  1. 相同 IP + 不同端口
  2. 不同 IP + 相同端口
  3. 相同 IP + 相同端口 + 不同域名(FQDN)

二、配置步骤

基于 Linux中DNS系统搭建与配置指南

1、相同配置
  1. 创建目录

    cd /var/www/
    mkdir yanyvhang
    mkdir wiltjer
    echo yanyvhang > yanyvhang/index.html			# 创建yanyvhang/index.html并输入内容
    echo wiltjer > wiltjer/index.html				# 创建wiltjer/index.html并输入内容
    
  2. 复制虚拟主机模板

    cp -p /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/httpd/conf.d/
    
2、相同 IP、不同端口
  1. 使用示例

    • yyh.example.com 使用 192.168.100.20:80
    • wil.example.com 使用 192.168.100.20:8080
  2. 编辑主配置文件

    vim /etc/httpd/conf.d/httpd-vhosts.conf			# 主配置文件
    
    	<VirtualHost 192.168.100.20:80>				# IP地址和端口号
        	DocumentRoot "/var/www/yanyvhang"		# 告诉配置文件位置在哪里
    	</VirtualHost>
    
    	Listen 8080									# 监听8080端口
    	<VirtualHost 192.168.100.20:8080>			# IP地址和端口号
        	DocumentRoot "/var/www/wiltjer"			# 告诉配置文件位置在哪里
    	</VirtualHost>
    	
    systemctl restart httpd							# 重启服务
    systemctl enable httpd							# 下次开机自启
    

    在这里插入图片描述

    在这里插入图片描述

3、不同ip、相同的端口
  1. 使用示例

    • yyh.example.com 使用 192.168.100.20:80
    • wil.example.com 使用 192.168.100.200:80
  2. 编辑主配置文件

    vim /etc/httpd/conf.d/httpd-vhosts.conf			# 主配置文件
    
    	<VirtualHost 192.168.100.20:80>				# IP地址和端口号
        	DocumentRoot "/var/www/yanyvhang"		# 告诉配置文件位置在哪里
    	</VirtualHost>
    
    	<VirtualHost 192.168.100.200:80>			# IP地址和端口号
        	DocumentRoot "/var/www/wiltjer"			# 告诉配置文件位置在哪里
    	</VirtualHost>
    	
    systemctl restart httpd							# 重启服务
    systemctl enable httpd							# 下次开机自启
    
  3. 编辑网卡配置

    vim /etc/sysconfig/network-scripts/ifcfg-ens33	# 网卡配置文件
    	
    	IPADDR1=192.168.100.200						# 额外添加的IP
    	PREFIX1=24									# 额外添加的IP的子网掩码
    	
    systemctl restart network						# 重启服务
    systemctl enable network						# 下次开机自启
    

    在这里插入图片描述

    在这里插入图片描述

4、相同ip、相同端口、不同的FQDN
  1. 使用示例

    • yyh.example.com 使用 192.168.100.20:80
    • wil.example.com 使用 192.168.100.20:80
  2. 编辑主配置文件

    vim /etc/httpd/conf.d/httpd-vhosts.conf			# 主配置文件
    
    	<VirtualHost 192.168.100.20:80>				# IP地址和端口号
        	DocumentRoot "/var/www/yanyvhang"		# 告诉配置文件位置在哪里
        	ServerName yyh.example.com				# 完整域名
    	</VirtualHost>
    
    	<VirtualHost 192.168.100.20:80>				# IP地址和端口号
        	DocumentRoot "/var/www/wiltjer"			# 告诉配置文件位置在哪里
        	ServerName wil.example.com				# 完整域名
    	</VirtualHost>
    
    systemctl restart httpd							# 重启服务
    systemctl enable httpd							# 下次开机自启
    
  3. 编辑正向解析文件

    vim /var/named/yyh.com							# 正向解析文件
    	
    	yyh     IN      A       192.168.100.20		# 添加FQDN对应IP
    	wil     IN      A       192.168.100.20		# 添加FQDN对应IP
    	
    systemctl restart named
    systemctl enable named
    

    在这里插入图片描述

    在这里插入图片描述

三、总结

方式 适用场景 关键区别
同 IP + 不同端口 测试环境或内部服务 需监听多端口
不同 IP + 同端口 拥有多个公网 IP 的服务器 需绑定多个 IP
同 IP + 同端口 + 域名 生产环境(最常见) 依赖 ServerName 区分站点

网站公告

今日签到

点亮在社区的每一天
去签到