从 express 更改为 nginx 时

When changing from express to nginx

我是nodejs新手,正在找各种资料

从 express 更改为 nginx 时

里面后台代码不改有关系吗?

nginx、apache之类的好像和后端代码没有关系,所以问一下以防万一

  app.get(
    "/hi",
    function (req, res, next) {
      res.send("hi");
    },
  );

在没有使用nginx的例子中,里面的代码结构差不多是这样的。如果你使用nginx,后端代码不会有什么特别的变化,对吧?

您正在描述一个反向代理用例。简短的回答是在 90% 的情况下 NO - 你不必在你的 nodejs 代码中改变任何东西。

一个简单的配置可能如下所示:

Client -- req TCP 80 -> NGINX -- req TCP 3000 -> NODEJS EXPRESS | app.js

配置


upstream node_backend {
  server 127.0.0.1:3000;
  keepalive 32;
}

server {
  listen 80;
  server_name example.com;

  location / {
    proxy_pass http://node_backend/;
    proxy_set_header Host $host;
    ...
  }
}

备注:

  1. 确保您以正确的方式管理 NodeApp。表示如何在系统启动或类似的情况下启动和停止它。

  2. 您可能需要在 NGINX 端使用 HTTPS。这不会更改位置配置或 proxy_pass 语句。