您的位置:首页 > 运维架构 > Apache

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

2014-12-30 23:30 891 查看

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  node.js apache