httpd--虚拟主机

17、虚拟主机
站点标识: socket
	IP相同,但端口不同
	IP不同,但端口均为默认端口
	FQDN不同:请求报文中首部 Host: www.magedu.com

有三种实现方案:
	基于ip:为每个虚拟主机准备至少一个ip地址
	基于port:为每个虚拟主机使用至少一个独立的port
	基于FQDN:为每个虚拟主机使用至少一个FQDN(常用)
	
虚拟主机的配置方法:
	<VirtualHost IP:PORT>
		ServerName FQDN
		DocumentRoot “/path"
	</VirtualHost>
	建议:上述配置存放在独立的配置文件中
	其它可用指令:
		ServerAlias:虚拟主机的别名;可多次使用
		ErrorLog: 错误日志
		CustomLog:访问日志
		<Directory “/path"> </Directory>
		Alias
	
实验:基于IP的多虚拟主机
vim /etc/httpd/conf.d/test.conf
	<virtualhost 192.168.37.101:80>
		documentroot /data/asite
		CustomLog "logs/asite_access_log" combined
		<Directory "/data/asite">
			Require all granted:wqwq
		</Directory>
	</virtualhost>

	<virtualhost 192.168.37.102:80>
		documentroot /data/bsite
			CustomLog "logs/bsite_access_log" combined
		<Directory "/data/bsite">
			Require all granted
		</Directory>
	</virtualhost>

	<virtualhost 192.168.37.103:80>
		documentroot /data/csite
		CustomLog "logs/csite_access_log" combined
		<Directory "/data/csite">
			Require all granted
		</Directory>
	</virtualhost>

	vim /etc/hosts
	192.168.37.101  www.a.com  
	192.168.37.102  www.b.com 
	192.168.37.103  www.c.com

实验:基于port的多虚拟主机
vim /etc/httpd/conf/httpd.conf
	listen 81
	listen 82
	listen 83

vim /etc/httpd/conf.d/test.conf
	<virtualhost *:81>
		documentroot /data/asite
		<Directory "/data/asite">
			Require all granted
		</Directory>
	</virtualhost>
	
	<virtualhost *:82>
		documentroot /data/bsite
		<Directory "/data/bsite">
			Require all granted
		</Directory>
	</virtualhost>
	
	<virtualhost *:83>
		documentroot /data/csite
		<Directory "/data/csite">
			Require all granted
		</Directory>
	</virtualhost>

	vim /etc/hosts
	192.168.37.7 www.a.com  www.b.com www.c.com


实验: 基于主机头的多虚拟主机
vim /etc/httpd/conf.d/test.conf
	<virtualhost *:80>  
		documentroot /data/asite
		servername www.a.com
		<Directory "/data/asite">
			Require all granted
		</Directory>
	</virtualhost>

	<virtualhost *:80>
		documentroot /data/bsite
		servername www.b.com
		<Directory "/data/bsite">
			Require all granted
		</Directory>
	</virtualhost>

	<virtualhost *:80>
		documentroot /data/csite
		servername www.c.com
		<Directory "/data/csite">
			Require all granted
		</Directory>
	</virtualhost>	

  

posted @ 2022-08-18 17:54  yuanbangchen  阅读(10)  评论(0编辑  收藏  举报