通过 Apache 代理访问 Node.JS, 共享80端口

1,首先确保 httpd.conf 加载了mod_proxy.so,mod_proxy_http.so 二个模块,但是我的服务器安装的时候是通过WDCP OS部署的,所以配置中缺少这两个模块,这也是耗费我不少时间的地方

LoadModule proxy_module modules/mod_proxy.so  
LoadModule proxy_http_module modules/mod_proxy_http.so  



下面我们要自己手动编译这两个模块:


./apxs -i -a -c ~/lanmp/httpd-2.2.24/modules/proxy/mod_proxy.c ~/lanmp/httpd-2.2.24/modules/proxy/proxy_util.c
./apxs -c -i -a ~/lanmp/httpd-2.2.24/modules/proxy/mod_proxy_http.c



编译完成以后,LoadModule 的两行配置文件已经自动插入到了 httpd.conf 中。注意这里 ~/lanmp/httpd-2.2.24/modules/proxy/proxy_util.c ,在编译 mod_proxy.c 要和 proxy_util.c 一起编译,否则 service httpd reload 的时候会报错


httpd: Syntax error on line 55 of /www/wdlinux/httpd-2.2.24/conf/httpd.conf: Cannot load /www/wdlinux/httpd-2.2.24/modules/mod_proxy.so into server: /www/wdlinux/httpd-2.2.24/modules/mod_proxy.so: undefined symbol: ap_proxy_location_reverse_map
 
2,配置apache的一个虚拟机


<VirtualHost *:80>
     ServerName a.yourdomain.com
     ProxyPreserveHost on
     ProxyRequests Off
    <Proxy *>
      Order deny,allow
      Allow from all
    </Proxy>
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</VirtualHost>



注意 : / http://localhost:3000/ 的斜杠都是要的,不是我写错了。


3,重新加载服务
service httpd reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值