一、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>