apache设置反向代理访问 NodeJs 网站(wdcp 安装代理模块+配置虚拟主机)
来源:互联网 发布:centos yum 安装ssh 编辑:程序博客网 时间:2024/05/16 23:53
一《服务器环境》
操作系统:Linux 2.6.32-431.23.3.el6.x86_64
wdcp版本: wdcp_v2.5.15(20150826)
apache版本:httpd-2.2.24
二《wdcp 安装代理模块》如果已经安装代理模块请直接跳过这一步
- cd /root/lanmp/httpd-2.2.24/modules/proxy/ #进入源码目录
- /www/wdlinux/httpd-2.2.24/bin/apxs -i -c -a mod_proxy.c proxy_util.c #编译安装
- /www/wdlinux/httpd-2.2.24/bin/apxs -i -c -a mod_proxy_http.c
- /www/wdlinux/httpd-2.2.24/bin/apxs -i -c -a mod_proxy_ftp.c
- /www/wdlinux/httpd-2.2.24/bin/apxs -i -c -a mod_proxy_connect.c
如果正常的话会在/www/wdlinux/httpd-2.2.24/modules/生成mod_proxy.so、mod_proxy_connect.so、mod_proxy_ftp.so、mod_proxy_http.so几个文件。同时查看一下/www/wdlinux/httpd-2.2.24/conf/httpd.conf是否增加了如下几行,如果没增加手动增加:
- LoadModule proxy_module modules/mod_proxy.so
- LoadModule proxy_http_module modules/mod_proxy_http.so
- LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
- LoadModule proxy_connect_module modules/mod_proxy_connect.so
安装代理参考文章:http://huikon.cn/post-306.html
三《配置虚拟主机》
1、要先有一个可以正常使用的域名,可以正常访问到wdcp上创建的网站
2、配置虚拟主机:/www/wdlinux/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>ServerName live01.netServerAlias www.live01.netProxyRequests off<Proxy *>Order deny,allowAllow from all</Proxy><Location />ProxyPass http://localhost:3000/ProxyPassReverse http://localhost:3000/</Location></VirtualHost>
此处 live01.net 和 www.live01.net 为绑定的要访问 Node 服务的域名。
http://localhost:3000/ 为服务器上访问 Node 的网址和端口号,这里以 3000 为例。
以上配置意思就是外部访问 www.live01.net 时会转到 http://localhost:3000/,同时访问子路径也会同时被转发,如:www.live01.net/room ->http://localhost:3000/room
PS:上面的<Location />我一度怀疑应该是<Location>,但后来想这应该是匹配根路径用的吧。
3、配置httpd.conf, 路径:/www/wdlinux/apache/conf/httpd.conf
因为用到了httpd-vhosts.conf,所以在httpd.conf中将conf/extra/httpd-vhosts.conf 给include上(把include前面的#去掉就行了,如下)
# Virtual hostsInclude conf/extra/httpd-vhosts.conf
参考文章:
https://cnodejs.org/topic/50f90289df9e9fcc58a5015c
http://www.cnblogs.com/plusice/p/3484597.html
以上完成后,重启服务器就可以正常访问了。
大家可以试一下访问我做的NodeJs直播室:http://live01.net/
这样就可以实现:同一个服务器上apache能够正常使用,nodejs也能用域名访问,各不影响,哈哈
怎样在apache设置多个域名反向代理访问 NodeJs 网站?
如果想要设置多个域名对应到NodeJs不同的网站, 那一样的在httpd-vhosts.conf添加多几个<VitrualHost>就行了, 例子如下:
这样设置后就有2个一级域名 + 1个二级域名可以对应到3个端口,那就满足要求啦!!
xyz.net -> http://localhost:3000/
abc.net -> http://localhost:3001/
sub.abc.net -> http://localhost:3010/
<VirtualHost *:80>ServerName xyz.netServerAlias www.xyz.netProxyRequests off<Proxy *>Order deny,allowAllow from all</Proxy><Location />ProxyPass http://localhost:3000/ProxyPassReverse http://localhost:3000/</Location></VirtualHost><VirtualHost *:80>ServerName abc.netServerAlias www.abc.netProxyRequests off<Proxy *>Order deny,allowAllow from all</Proxy><Location />ProxyPass http://localhost:3001/ProxyPassReverse http://localhost:3001/</Location></VirtualHost><VirtualHost *:80>ServerName sub.abc.netProxyRequests off<Proxy *>Order deny,allowAllow from all</Proxy><Location />ProxyPass http://localhost:3010/ProxyPassReverse http://localhost:3010/</Location></VirtualHost>
注意:在《VitrualHost》里设置的ServerName (域名)后面不要加/,曾经我犯的这个低级错误折腾了我一个下午。。。血的教训!!!!
- apache设置反向代理访问 NodeJs 网站(wdcp 安装代理模块+配置虚拟主机)
- 安装编译Apache模块,配置反向代理
- 安装编译Apache模块,配置反向代理
- Ubuntu Apache 虚拟主机 反向代理
- Apache反向代理设置
- Apache反向代理设置
- Apache反向代理设置
- Apache设置反向代理
- Apache反向代理设置
- 从源代码编译安装Apache-httpd-2.4.23及虚拟主机和反向代理的配置
- apache反向代理配置
- Apache反向代理配置
- Apache 配置反向代理
- Apache配置反向代理
- apache 反向代理配置
- Apache反向代理配置
- Apache配置反向代理
- Apache配置反向代理
- 每天一个linux命令(20):find命令之exec
- Sublime Text 3中文乱码 解决版本,插件安装
- leetcoode 1.Add Two Numbers
- C#基础--值类型和引用类型,栈和堆的含义
- BlockingQueue简介
- apache设置反向代理访问 NodeJs 网站(wdcp 安装代理模块+配置虚拟主机)
- USACO 5.3 Window Area
- git更换远程仓库
- C语言连接mysql数据库
- 在一般处理文件中访问Session需要添加IRequiresSessionState
- ICMP TYPE CODE 对应表
- 深入理解Activity的LaunchMode
- [自考]信息资源管理
- Longest Increasing Subsequence