从 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;
...
}
}
备注:
确保您以正确的方式管理 NodeApp。表示如何在系统启动或类似的情况下启动和停止它。
您可能需要在 NGINX 端使用 HTTPS。这不会更改位置配置或 proxy_pass
语句。
我是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;
...
}
}
备注:
确保您以正确的方式管理 NodeApp。表示如何在系统启动或类似的情况下启动和停止它。
您可能需要在 NGINX 端使用 HTTPS。这不会更改位置配置或
proxy_pass
语句。