node.js - 重启 node.js 生产服务器

标签 node.js express

假设我在生产服务器上有一个 nodejs/express 应用程序。如果我想添加一个新路由器,我必须重新启动一个,对吧?但是,如果我重新启动我的 node.js 服务器,那么用户可能会收到错误消息。

那么我应该如何为我的用户重新启动我的 node.js 服务器而不出现错误?

最佳答案

如果您使用 Nginx 代理您的 Node.js 应用程序,您可以告诉您的 Node 应用程序监听套接字,然后仅在新服务器正确启动时关闭旧服务器;一旦旧服务器关闭,Nginx 会将请求路由到服务器的新实例。这是如何Unicorn ,一种流行的 Ruby 服务器,可以正常工作。

在 Nginx 中,您可以像这样指定您的上游:

upstream node_server {
  server unix:/path/to/socket.sock;
}

server {
  ...
  location / {
    ...
     proxy_pass http://node_server;
  }
}

在 Node 中,你可以监听一个套接字

server.listen('/path/to/socket.sock', function() {
  console.log("Listening on socket.");
});

关于node.js - 重启 node.js 生产服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11113190/

相关文章:

javascript - 尝试配置 U​​berRUSH Javascript 模块

javascript - Jasmine 测试总是通过

javascript - 如何将github OAuth数据发送给客户端?

javascript - Node.js, express, Passport 认证 "Bad Request"

node.js - 不推荐使用获取正文解析器警告在 Vs 代码中无法获取正文尝试使用 express 的内置正文解析器

javascript - 在 Node.js、React.js 和 Python 应用程序之间共享配置

arrays - 使用 MongoDB 更新对象的属性而不删除周围的属性

node.js - 如何使用 mocha 生成多个报告?

node.js - React-Router Router.HistoryLocation 刷新页面

javascript - 在 POST 正文中发送一个数组