V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pysama
V2EX  ›  问与答

如何在 apache 服务器上部署 nodejs 应用?

  •  
  •   pysama · 2016-12-06 23:21:22 +08:00 · 7092 次点击
    这是一个创建于 2909 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器是 apache 的,但我的应用是 nodejs 的。 apache 用了 80 端口, nodejs 只能用其他其他端口 我想到的方案是利用反向代理或者 url rewrite 来实现。

    我根据我查询的资料,反向代理貌似只能将某个目录下的请求转发到另一个域名的资源,比如: www.A.com/f 代理到 www.A.com/Fantasy 。 由于我的应用是通过二级域名访问( app.A.com )。所以貌似没法使用反向代理。(当然也可能是我理解的不深入,或者资料不对)

    我想到了有个叫 rewrite 的东西。大概就是通过正则将访问者的请求转发到另外的地址,并保持 url 不变。 比如通过一个正则,将 app.A.com 域名下的请求都转发到 localhost:3000

    疑问:

    • 我的这种需求,可以通过反向代理实现吗?
    • 如果反向代理不能实现,那能用 rewrite 实现吗?

    请各位大神指点下,给个方向,我再去研究。谢谢

    认真回复我的都走桃花运~~~2333

    4 条回复    2016-12-07 09:54:47 +08:00
    pysama
        1
    pysama  
    OP
       2016-12-06 23:43:13 +08:00
    我错了
    反向代理也可以将二级域名整理代理到其他地址的。但问题来了,主域名也被代理了。
    我只想将 app.A.com 代理到 localhost:3000 ,但是 A.com 也被代理到了 localhost : 300 。

    我的配置如下:

    ```
    <VirtualHost *:80>
    ServerName child.A.com
    ServerAlias child.A.com
    ProxyRequests off

    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    <Location />
    ProxyPass http://localhost:3000/
    ProxyPassReverse http://localhost:3000/
    </Location>
    </VirtualHost>
    ```
    yangg
        2
    yangg  
       2016-12-07 08:05:24 +08:00 via iPhone
    location 这个标签去掉,只要里面的?
    yangg
        3
    yangg  
       2016-12-07 08:08:21 +08:00 via iPhone   ❤️ 1
    另外 node 建议用 pm2 之类的工具
    jianzhiyao020
        4
    jianzhiyao020  
       2016-12-07 09:54:47 +08:00   ❤️ 1
    httpd.conf 里面添加这个试试
    <VirtualHost *:80>
    ServerName app.A.com
    ServerAlias app.A.com *.app.A.com
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    ErrorLog logs/app.A.com-error_log
    CustomLog logs/app.A.com-access_log common
    </VirtualHost>
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2754 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 07:40 · PVG 15:40 · LAX 23:40 · JFK 02:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.