64yuty 发表于 2016-7-15 09:26:21

apache虚拟主机

apache虚拟主机
apache:服务器,Host,物理主机
虚拟主机:
apache服务:
   服务于多个不同的站点:
apache:
   中心主机
   虚拟主机
      基于IP
    IP1:80
IP2:80
基于端口
    IP:80
IP:8080
基于域名
    IP:80
    主机名不同
    www.a.com
www.b.net
www.c.org

apache 2.2
NameVirtualHost

apache 2.4
serverAlias
serverName
DocumentRoot: /www/a.org
<Directory "/www/a.org">
   Option
   AllowOverride
</Directory>

Alias
Errorlog
Customlog

<Location "/images">
ScriptAlias允许当前主机执行CGI脚本
</Location>

CGI:通用网关接口

得先取消中心主机,注释中心主机的DocumentRoot即可。
虚拟主机的定义
<VirtualHost Host>

</virtualHost>
基于IP,HOST的写法
IP1:80
IP2:80
基于端口:
HOST
IP:80
IP:8080
基于域名:
*:80
ServerName 不同

vim /etc/httpd/conf/httpd.conf
首先#掉#    DocumentRoot
或者在其他地方写一个vim /etc/httpd/conf.d/virtual.conf

定义基于IP和基于端口的虚拟主机
<VirtualHost 192.168.10.3:80 >
serverName www.b.com
DocumentRoot "/www/b.com"
</virtualHost>

<VirtualHost 192.168.10.4:80 >
serverName www.c.com
DocumentRoot "/www/c.com"
</virtualHost>

<VirtualHost 192.168.10.97:8080 >
serverName www.d.com
DocumentRoot "/www/d.com"
</virtualHost>
需要在配置文件中监听端口
Listen 80
Listen 8080


# mkdir -p /www/b.com
# mkdir -p /www/c.com
# mkdir -p /www/d.com
# vim index.html分别在几个目录里创建一个文件来模拟网站
# ip addr add 192.168.10.3/24 dev eth0 创建2个别名
# ip addr add 192.168.10.4/24 dev eth0
# ip addr show 查看
基于名称虚拟主机的定义

namevirtualhost 192.168.1.51:80
<virtualhost 192.168.1.51:80>

servername www.b.net
documentroot "/www/b.net"
CustomLog "/var/log/httpd/b.net/access_log combined" 日志文件
<directory "/www/b.net" >拒绝192.168.1.100访问
    options none
    allowoverride none
    order deny,allow
    deny from 192.168.1.100
</directory>
--------------------------------------
<VirtualHost 192.168.1.51:80>
ServerName _default_    定义默认虚拟主机。当用户输错以后自动访问此主机。
DocumentRoot "/www/default"
</VirtualHost>
-----------------------------------------
<virtualHost 192.168.1.51:80>
servername www.b.com
documentroot "/www/b.com"
customlog "/var/log/httpd/b.com/access_log cmbined"
<dirctory"/www/b.com"> 定义所有用户用密码访问
options none
allowOverride authconfig
authtype basic
authname"Resteict area."
authuserfile "/etc/httpd/.htpasswd"
Require valid-user
</Dirctory>
</virtualhost>


#<Location /server-status>定义一个Handler,在此是显示server的状态。
#    SetHandler server-status
#    Order deny,allow
#    Allow from all
#</Location>


页: [1]
查看完整版本: apache虚拟主机