apache配置虚拟主机 小我私家理解
Listen 80 #NameVirtualHost * <VirtualHost *:8080> ServerName apacheconfig2 DocumentRoot /var/www/apacheconfig/test1 DirectoryIndex index.html #站点的默认访谒资源,即不指明请求资源时,默认访谒index.html文件 <Directory "/var/www/apacheconfig/test1"> #设置对目录的访谒控制 AllowOverride All Options Indexes FollowSymLinks Require all granted </Directory> </VirtualHost>
详细可以参照官方文档
小我私家理解如下,如有错误,欢迎指摘。
配置虚拟主机主要设置四个要素
IP
端口 (Listen指令开启的端口才可以使用)
域名
站点根目录(设置请求资源的相对根目录)
匹配法则
apache在匹配虚拟主机时,会首先匹配IP,, 再匹配端口,最后再匹配域名,如果设有多个虚拟主机,会从上往下依次匹配,匹配告成则遏制匹配,因此,越在上面,优先度越高
IP和端口的匹配必需要严格匹配,如果IP和端口不匹配,则找不到可用的虚拟机配置,无法正常显示网页
如果IP和端口都匹配,但所有的域名都不匹配,则默认使用IP和端口匹配的第一个虚拟机配置
虚拟机配置匹配告成之后,要访谒的资源文件是相对付站点根目录的,如果站点根目录中不存在该资源,则报404错误,此时要确保站点根目录和请求的资源文件是否正确
IP和端口的配置都可以使用通配符*, 暗示匹配本机所有的IP和端标语
要想匹配某个端标语,前提是使用Listen指令开启对这个端口的监听
用法实例
1. 一个IP对应多个站点(所谓的站点的是否不异,指的是站点根目录是否不异,不异则是同一个站点,差别则是差此外站点)
IP不异,端口差别,域名不异。虽然可以使用同一个域名访谒,端口差别,访谒的站点也差别
:80匹配第一个虚拟机配置
:8080匹配第二个虚拟机配置
Listen 80 Listen 8080 <VirtualHost 172.20.30.40:80> ServerName DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.40:8080> ServerName DocumentRoot /www/domain-8080 </VirtualHost>
IP不异,端口不异,域名差别。虽然IP地点和端口不异,但使用的域名差别则访谒的站点差别
:80匹配第一个虚拟机配置
:80匹配第二个虚拟机配置
Listen 80 <VirtualHost 172.20.30.40:80> ServerName DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.40:80> ServerName DocumentRoot /www/otherdomain-80 </VirtualHost>
2. 多个IP对应多个站点
Listen 80 <VirtualHost 172.20.30.40:80> ServerName DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.41:80> ServerName DocumentRoot /www/otherdomain-80 </VirtualHost>
3. 多个IP对应同一个站点
Listen 80 <VirtualHost 172.20.30.40:80> ServerName DocumentRoot /www/domain-80 </VirtualHost> <VirtualHost 172.20.30.41:80> ServerName DocumentRoot /www/domain-80 </VirtualHost>
常用指令的法则
Listen 端标语 Listen IP:端标语
<VirtualHost IP> <VirtualHost IP:端标语> <VirtualHost *:*> <VirtualHost *:端标语> <VirtualHost IP:*>
apache配置虚拟主机 小我私家理解
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33067.html