Node.js Ubuntu Linux上的永久socket.io服务器

Node.js Ubuntu Linux上的永久socket.io服务器,node.js,ubuntu,websocket,socket.io,Node.js,Ubuntu,Websocket,Socket.io,我正在通过输入以下命令启动socket.io服务器: node server.js 但这有时会停止,或者我需要打开一个终端窗口让它运行 我如何在Linux服务器(Ubuntu)上设置它,使系统中有一个永久服务器(如Apache)运行,如果它停止,它将自动重新启动?您可以使用 安装npm软件包后,可以使用pm2命令行: pm2 start server.js 您可以使用too或来检测服务器文件何时更改。它将自动重新启动服务器,您不再需要停止/启动节点应用程序 注意pm2用于生产,nodemon

我正在通过输入以下命令启动socket.io服务器:

node server.js
但这有时会停止,或者我需要打开一个终端窗口让它运行

我如何在Linux服务器(Ubuntu)上设置它,使系统中有一个永久服务器(如Apache)运行,如果它停止,它将自动重新启动?

您可以使用

安装npm软件包后,可以使用pm2命令行:

pm2 start server.js
您可以使用too或来检测服务器文件何时更改。它将自动重新启动服务器,您不再需要停止/启动节点应用程序

注意pm2用于生产,nodemon用于开发

您也可以通过在命令行中编写以下命令来使用tmux(无需任何安装):

tmux
cd /path/to/application
node server.js
要在保持应用程序运行的同时退出会话,请使用:

Ctrl+b
d

您还可以使用upstarter,将节点应用程序转换为ubuntu服务。这是我在生产中使用的东西

  • 要安装:

    npm install -g upstarter
    
  • 使用:

    sudo upstarter
    
剩下的只是用户提示。要启动/停止/重新启动upstarter生成的服务:

sudo start/stop/restart <name-of-the-service>
sudo启动/停止/重新启动

Upstarter与PM2/Forever相比还有一个很大的优势:它可以用于非节点应用程序。

我想使用PM2,但它不适用于我的节点版本。我已经用了很久了,到目前为止它似乎工作得很好。非常感谢。很高兴帮助你PJ_