在 Ubuntu 上运行后台 nodejs 进程

在 Ubuntu 上运行后台 nodejs 进程

我有一个 nodejs/swagger 项目,正在虚拟 Ubuntu 实例上运行,用于我现在正在上的一门课,我希望能够让它在后台运行。我显然能够连接到该项目,但当我关闭 PuTTY 会话时,API 似乎会出现问题,无论我如何运行该项目。

我已经使用了nohupdetach&和的所有组合screen来运行它,不知何故,每次我都会得到完全相同的行为:当我打开 PuTTY 会话时(或者,当我通过主机通过 VBox 屏幕登录时 - 我不必这样做任何事物,我似乎只需要以某种方式登录),API 似乎恢复了,当我关闭 PuTTY(或在 VBox 屏幕中注销)时,API 似乎崩溃了。

我说似乎是因为我不熟悉 nodejs 或 swagger,但我可以说的是,当我登录时,它http://localhost:3000/viewer/会给我它应该出现的交互式页面,而当我注销时,它会返回与我登录时http://localhost:3000/viewer/相同的内容:(如果我没记错的话,它是一个 JSON 对象?)。http://localhost:3000/api/{"message":"Cannot read property 'apiPath' of undefined"}

我只能说,这似乎与我安装 nodejs 的方式有关(我使用了nvm install 4.1.0而不是apt-get install nodejs-legacy),因为我注意到当我注销然后重新登录时,如果我nvm use v4.1.0的 末尾没有包含.bashrc,那么 Ubuntu 就不会识别nodenpmswagger作为命令。作为参考,这是我添加到 中的其余内容.bashrc

export NVM_DIR="/home/pockets/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

. ~/.nvm/nvm.sh
nvm use v4.1.0

相关内容