菜鸟学Linux 第053篇笔记 Section 3
apache 虚拟主机
apache: server, host, 物理主机
虚拟主机
apache 服务
服务于多个不同的站点;
apache:
中心主机
虚拟主机 (两者不可同时使用)
基于IP
IP1:80
IP2:80
基于端口
IP:80
IP:8080
基于域名
IP:80
主机名不同
www.mysky.com
www.b.org
www.c.net
apache 2.2
NameVirtualHost
apache 2.4
实现查询某域名状态(只需要将如下段注释#去掉即可)(了解即可)
#<Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .example.com
#</Location>
(注意里边的order 和allow,因为是要查询服务器状态,权限要注意)
查询方式 域名/server-status
e.g. http://192.168.11.122/server-status
虚拟主机选项 (定义虚拟主机要先关闭中心主机 即#DocumentRoot 前边下#即可)
ServerName
ServerAlias
DocumentRoot /www/a.org/
<Directory "/www/a.org">
options
AllowOverride
</Directory>
Alias
ErrorLog
CustomLog
<Location "">
</Location>
ScriptAlias
虚拟主机定义
<virtualHost HOST>
</VirtualHost>
HOST 写法
基于IP IP1:80 IP2:80
基于port IP:80 IP:8080
基于域名 *:80 (ServerName 不同)
CGI Common Gateway Interface
动态脚本
客户端动态
服务端动态
建立虚拟机 /etc/httpd/conf.d/virtualhost.conf
1.两个基于IP的主机
2.一个基于端口号的主机
3.两个基于域名的主机
第一个域名主机实现登录认证功能
第二个实现禁用某主机,让某客户端无法访问该域名
<VirtualHost 192.168.11.10:80>
ServerName www.a.org
DocumentRoot "/web/a.org"
</VirtualHost>
<VirtualHost 192.168.11.122:80>
ServerName www.b.org
DocumentRoot "/web/b.org"
</VirtualHost>
<VirtualHost 192.168.11.10:8080>
ServerName www.port.org
DocumentRoot "/web/port.org"
</VirtualHost>
NameVirtualHost 192.168.11.122:80
<VirtualHost 192.168.11.122:80>
ServerName www.mysky.com
DocumentRoot "/web/mysky.com"
<directory "/web/mysky.com">
Options none
AllowOverride AuthConfig
AuthType Basic
AuthName "You need enter user"
AuthUserFile "/etc/httpd/conf/htuser"
Require valid-user
</directory>
</VirtualHost>
<VirtualHost 192.168.11.122:80>
ServerName www.little.com
DocumentRoot "/web/little.com"
<Directory "/web/little.com">
Options none
AllowOverride none
order deny,allow
deny from 192.168.11.2
</Directory>
</VirtualHost>
httpd -t 测试httpd.conf语法是否正确
htpasswd -c -m 用来创建用户和密码文件
yum install httpd-manual 可以实现查询离线的httpd手册
查询方式 httpd://192.168.11.122/manual