一、Apache多站点配置
这种方法是配置不同的地址访问不同的文件夹的配置 1:修改本机的hosts文件,如下: 示例: 127.0.0.1 localhost 127.0.0.1 www.dede.com 127.0.0.1 www.phpcms.com 2: 打开appserv的安装目录,找到httpd.conf文件,分别去掉下面两行文字前面的#号。 #LoadModule vhost_alias_module modules/mod_vhost_alias.so 去掉#意思是启用apache的虚拟主机功能。 #Include conf/extra/httpd-vhosts.conf 去掉这一行的#意思是从conf/extra/httpd-vhosts.conf这个文件导入虚拟主机配置。 3: 打开extra目录内的httpd-vhosts.conf文件,什么都不管,直接在文件底部加入自己要加的虚拟主机的信息。如下面所示。 分别是给出一个管理员邮箱、指出此网站的根目录、域名、和错误日志存放位置。注意目录间隔最好用/而不是/ 。 NameVirtualHost *:80 <VirtualHost *:80> ServerName www.phpzend.com DocumentRoot E:/wamp/www/phpzend ServerAlias www.phpzend.com ErrorLog "logs/www.phpzend.com-error.log" CustomLog "logs/www.phpzend.com-access.log" common </VirtualHost>
<VirtualHost *:80> ServerName www.wit66.com DocumentRoot F:/website/phpzend ServerAlias www.wit66.com ErrorLog "logs/www.wit66.com-error.log" CustomLog "logs/www.wit66.com-access.log" common </VirtualHost>
*以上路径中的斜线左斜右斜都可以。 4. 在httpd.conf中添加相应目录
#wwww.phpzend.com
<Directory "E:/wamp/www/phpzend/">
Options Indexes FollowSymLinks
AllowOverride all Order Deny,
Allow Allow from all
</Directory>
5 将appserv的apache服务重启,就可以了,可以在各网站的根目录下放一个index.html文件,如果能看到,说明就对了。
二、是在同一个ip下面配置不同的端口的方法
打开appserv的安装目录,找到httpd.conf文件,找到:
Listen 80
加入:
Listen 80
Listen 83
Listen 84
然后参照虚拟主机的设置方法。不同的是:
<VirtualHost *:80> 这个后边的端口号按自己需求更改就成了。
如果 弄完之后 出现403错误 那 在httpd.conf里找到:
<Directory />
Options FollowSymLinks ExecCGI Indexes
AllowOverride None
Order deny,allow
Deny from all
Satisfy all
< /Directory>
更改为
<Directory />
Options FollowSymLinks ExecCGI Indexes
AllowOverride None
# Order deny,allow
# Deny from all
# Satisfy all
< /Directory>
打开extra目录内的httpd-vhosts.conf文件
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs"
ServerName 127.0.0.1
</VirtualHost>
<VirtualHost *:83>
DocumentRoot "D:/WeiXin/zjhj_mall"
</VirtualHost>
三、反向代理设置:
1.修改apache的配置问价httpd.conf,加载apache的代理相关模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2、打开extra目录内的httpd-vhosts.conf文件,注:当有设置反向代理时,应注意站点的配置顺序,反向代理的站点设置在前面,最后设置非反向代理站点
<VirtualHost *:8080>#apache的监控端口
ServerAdmin [email protected]
ServerName www.whutest.net
ProxyPreserveHost On #当启用时,此选项将把传入请求的"Host:"行传递给被代理的主机,而不是传递在ProxyPass中指定的主机名。
ProxyRequests Off #反向代理为Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.1.120:8080/ #IIS端口8080,把地址www.whutest.net:8080下所有请求都代理到192.168.1.120:8080
ProxyPassReverse / http://192.168.1.120:8080/ #配置该项,隐藏具体IP地址192.168.1.120
</VirtualHost>
例如:
<VirtualHost *:84>
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://172.16.1.146:8018/
ProxyPassReverse / http://172.16.1.146:8018/
</VirtualHost>
<VirtualHost *:80>
ServerName changs.meidp.com
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://localhost:8001/
ProxyPassReverse / http://localhost:8001/
</VirtualHost>