假设我在生产服务器上有一个nodejs/express应用程序.如果我想添加一个新的路由器,我必须重启一个,对吗?但是,如果我重新启动我的node.js服务器,那么用户可能会收到错误.
那么我应该如何为我的用户重启我的node.js服务器而不出错?
如果您使用Nginx代理您的Node.js应用程序,您可以告诉您的Node应用程序在套接字上侦听,然后只有在新服务器正确启动时关闭旧服务器; 一旦旧服务器关闭,Nginx将把请求路由到服务器的新实例.这就是流行的Ruby服务器Unicorn的工作原理.
在Nginx中,您可以像这样指定上游:
upstream node_server {
server unix:/path/to/socket.sock;
}
server {
...
location / {
...
proxy_pass http://node_server;
}
}
Run Code Online (Sandbox Code Playgroud)
在节点中,您可以使用侦听套接字
server.listen('/path/to/socket.sock', function() {
console.log("Listening on socket.");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
342 次 |
| 最近记录: |