【问题标题】:How to run a express server using nginx in localhost? [duplicate]如何在 localhost 中使用 nginx 运行快速服务器? [复制]
【发布时间】:2020-05-06 23:54:38
【问题描述】:

我想在 localhost 中使用 Nginx 运行 express 服务器。 可能吗?如果有可能,我该如何实现?

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => res.send('Hello World!'))

app.listen(port, () => console.log(`Server listening at http://localhost:${port}`))

【问题讨论】:

  • 你想让 nginx 运行 express 嵌入?据我了解,这是不可能的,您需要在某个端口上运行 express 应用程序,然后使用 nginx 反向代理该端口(express 和 nginx 独立工作),查看文档:docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy
  • “我想在 localhost 中使用 Nginx 运行 express 服务器”是什么意思? Nginx 是一个独立的程序,而不是 node.js 程序。 Express 仅在 node.js 中运行。通常,当您将 nginx 与 Express 结合使用时,会将传入的请求定向到 nginx。然后它会应用您希望 nginx 执行的任何操作,然后将剩余的请求转发到您的 express 端口(如果在同一主机上,则该端口与用户连接的端口不同)。
  • 通过这种方式,您可以将 nginx 用于一大堆事情,例如提供静态内容、提供各种安全功能等......

标签: javascript node.js express nginx nginx-reverse-proxy


【解决方案1】:

如果你想使用 nginx 作为 express 的反向代理,你可以如下配置你的服务器:

server {
    listen 80 default_server;
    server_name _;

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_pass http://localhost:3000; #port where you are serving your express app.

  }
}

你应该在/etc/nginx/sites-available/default进行配置

修改配置文件后,检查你的脚本是否有错误:

$sudo nginx -t

预期结果应该是:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

配置成功后,你应该重启你的nginx实例,命令:

$sudo nginx -s reload

正确重新加载后断言您的节点/快速服务器正在运行。现在,如果您访问http://localhost,您应该会看到http://localhost:3000 中正在收听的内容

Nginx 应该为您的实例提供服务,当您停止节点/快递时,您应该会看到默认错误 502。

【讨论】:

  • 我应该在 server_name 中使用什么 IP 地址?我使用了 127.0.0.1,但是当我从浏览器运行端口 80 时,它只显示默认应用程序,而不是在 localhost:3000 上运行的应用程序
  • 或者我需要从 ssh 服务器提供所有这些命令?
  • 你应该通过浏览器访问,使用你的真实IP,检查你的真实IP只需使用命令ifconfig使用真实IP访问时也应该使用端口3000。
  • 好吧,我使用curl ifconfig.me 获取我的 ip,并将该值作为 server_name。但是,然后我尝试从浏览器访问 myip:3000 并且它没有运行该应用程序。
  • 刚刚更新的答案。改变你的 nginx 默认文件后,记得做$sudo nginx -s reload
猜你喜欢
  • 2012-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多