apache多站点配置+多端口配置+反向代理

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章