虚拟主机:
Web:公网IP,server,
一个物理主机上安装一个http,运行n个站点,每个站点被称为虚拟主机

[root@stu33 conf]# grep "Section" httpd.conf
### Section 1: Global Environment
### Section 2: 'Main' server configuration
### Section 3: Virtual Hosts

虚拟主机和主要sever是不能同时进行的!


虚拟主机的类型:
IP
Port 一般不常用,端口不易被其他人所知
FQDN
www.magedu.com
bbs.magedu.com

虚拟主机的定义方法:
NameVirtualHost 172.16.33.1:80 #这一行一定要在上面添加!否则造成最后的几个虚拟主机解析出来的是同一个网页!而不是各个站点的网页!

<VirtualHost 172.16.33.2:80> #此时要注意httpd.conf配置文件中监听的IP要将这个IP添加进去
DocumentRoot "/var/www/html/Vhost" #指定网页路径
ServerName www.magedu.com #指定服务器
<Directory "/var/www/html/Vhost" #下面的为指定规则
Options Indexes
AllowOverride none
Order allow,deny
Allow from 172.16
</Directory>
ErrorLog #定义错误日志位置 /var/log/httpd/www.magedu.com_error_log
CustomLog #定义访问日志位置 /var/log/www.magedu.com_access_log combined
ServerAdmin webmaster@magedu.com #定义网站管理邮箱
</virtualHost>

虚拟主机和主要sever是不能同时进行的!若在http.conf上面定义虚拟主机,则需要把DocumentRoot "/var/www/html" 注释掉,以更改网页目录制作多个虚拟主机站点的目录!最下面有相应的范例!


#定义某个目录的访问属性
<Directory "/var/www/html/Vhost" #下面的为指定规则
Options Indexes
AllowOverride none
Order allow,deny
Allow from 172.16
</Directory>

<Location /manual>
order allow,deny
allow 172.16.0.0/16
</Location>
#Location 的生效次序在Directory之后!支持正则表达式!

<Location ~ “/p_w_picpaths?”>
order allow,deny
allow 172.16.0.0/16
</Location>
# ~表示匹配正则表达式


<LocationMatch “/p_w_picpaths?”>
order allow,deny
allow 172.16.0.0/16
</LocationMatch>

<File>
</File>
#定义某个文件的访问属性,File的优先级低于Directory但是高于Location,支持正则表达式


<FilesMatch"\.(gif|jpe?g|png)$">
.gif
.jpg
.jpeg
.png
</Filematch>

<limit PUT POST>
Require user gentoo
</limit>
#限定8种http协议的方法
8种http协议方法:
GET
POST
HEAD
PUT
DELETE
OPTIONS
TRACE
CONNECTION

CGI:
web-->perl
perl-->perl

ScriptAlias /cgi-bin/ "/var/www/cgi-bin" #定义脚本的别名
vim XX.sh
#!/bin/bash
#
cat EOF

Connect-Type text/html
<pre>
<h1>`date`</h1>
$(echo "how are you?")
</pre>

EOF