【问题标题】:NodeJS with NGINx and Moodle with ApacheNodeJS 与 NGINx 和 Moodle 与 Apache
【发布时间】:2017-06-30 06:50:55
【问题描述】:

我有一个使用 wordpress(信息位)和 moodle(用于学生考试等)构建的网站,现在我使用 NodeJS 重新构建了它,但部署它时遇到了一些问题,因为已经有一个网站了。我想使用 NGINx 作为反向代理来为我的节点应用程序提供服务,但保留 Moodle 部分,例如:

用户访问 www.myweb.com 并看到节点(MEAN 堆栈)应用程序,然后他/她可以访问 www.myweb.com/classroom,即 Moodle。由于 Moodle 由 Apache 提供,我不太确定如何同时启动节点和 Moodle。

【问题讨论】:

  • 你可以使用节点做反向代理...
  • 为什么要使用 Apache? Moodle 应该在 nginx 上运行良好
  • @Bearzi 因为它已经是那样了,我没有说我只是重新做网站,而不是 LAMP 堆栈,我在 MEAN 堆栈中做了它,我只是遇到了麻烦如何部署它而不丢失已经存在的东西。
  • @SandeshK 这没有回答任何问题。是的,我可以用 node 来做,但我也可以用 nginx 来做,这是我的意图和要求。

标签: node.js apache nginx moodle


【解决方案1】:

您需要在 nginx 配置文件中编写代理脚本。

(将您的 apache 服务器的端口号更改为 80 以外的端口号,因为该端口将被 nginx 使用。)

安装 nginx。

编辑配置文件以添加服务器:

(删除或编辑侦听端口 80 的现有服务器块。)

http {
    server {
        listen 80;

        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://localhost:<port_number>;
        }
        location /classroom/ {
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://localhost:<port_number>;
        }
    }
}

重启 nginx。

更多信息请参考:https://www.nginx.com/resources/admin-guide/reverse-proxy/

【讨论】:

  • 这意味着对位置 / 的每个请求都将由节点处理,对位置 /classroom/ 的每个请求都将由 apache 处理?
猜你喜欢
  • 2019-03-16
  • 2015-04-21
  • 2011-05-05
  • 2014-11-21
  • 2013-08-05
  • 2012-04-06
  • 1970-01-01
  • 2013-08-17
  • 2012-10-31
相关资源
最近更新 更多