【问题标题】:Running node behind apache displays page (code) instead of executing page在 apache 后面运行节点显示页面(代码)而不是执行页面
【发布时间】:2020-02-15 23:42:36
【问题描述】:

我花了很多时间阅读教程和解决方案,展示了如何使用 ProxyPass 指令让节点在 apache 后面工作,但是当访问该站点时,它显示页面内容(代码)而不是 执行。这里有一些背景: - 这是我的 apache vhost 文件:

<VirtualHost *:80>
        ServerName mysite.com
        DocumentRoot /var/www/mysite
        DirectoryIndex app.js
        <proxy>
          Order deny,allow
          Allow from all
        </proxy>
        ProxyPreserveHost on
        ProxyRequests off
        <Location /var/www/mysite>
          ProxyPass http://localhost:3000
          ProxyPassReverse http://localhost:3000
        </Location>
        ErrorLog ${APACHE_LOG_DIR}/mysite.error.log
        CustomLog ${APACHE_LOG_DIR}/mysite.access.log combined
</VirtualHost>
  • 我正在将这些模块加载到 Apache:proxy_moduleproxy_http_module。 (我什至尝试加载 proxy_http2_module,但什么也没做。)

  • 对于这个测试,我通过加载 express 运行节点:“node app.js”。这是运行服务器的 app.js 底部的代码:

<snip>
//Start server
app.listen(process.env.PORT || 3000, function () {
    console.log("Server started on port 3000");
});
  • 当我在服务器上使用 lynx http://localhost:3000 的命令行访问该站点时,该站点加载

似乎没有这方面的任何信息 - 我们将不胜感激。

【问题讨论】:

    标签: node.js apache ubuntu


    【解决方案1】:

    我决定安装和使用 nginx,它可以工作。

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2011-09-12
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多