关闭终端或我的ssh会话后,我无法保持服务器运行

时间:2016-02-07 23:40:43

标签: node.js terminal npm server digital-ocean

我以前从未设置过服务器,但是自从Parse宣布他们关闭以来我认为我可能会试一试。我跟随this tutorial并设法将我的Parse数据库迁移到数字海洋。

当我致电npm run start时,一切正常。我可以从我的iOS应用程序查询数据并创建新对象。但只有一个问题。即使终端未从我的Mac运行,如何保持服务器正常运行。

当我致电npm run start时,这是登录终端的内容:

> parse-server-example@1.0.0 start /var/www/parse
> node index.js

[TypeError: Cannot read property 'Kerberos' of undefined]
DATABASE_URI not specified, falling back to localhost.
parse-server-example running on port 1337.

我知道这可能是一个菜鸟问题,是的,我的知识非常有限,所以如果你能帮助我,那就太棒了!

谢谢你的时间!

4 个答案:

答案 0 :(得分:6)

好的,所以我在数字海洋问题页面上发布问题后找到了答案,而不是运行npm run start我应该做nohup npm start &

答案 1 :(得分:2)

  1. 使用屏幕创建新会话https://tournasdimitrios1.wordpress.com/2010/11/04/linux-the-screen-command-a-must-for-ssh/
  2. 启动您的服务器
  3. 分离会议
  4. 在需要时返回正在运行的会话

答案 2 :(得分:1)

+1给列夫的答案,我没有足够的声誉来支持他的回答。

另一个选项是tmux,比如屏幕,你创建一个会话然后启动你的应用程序并在完成后分离,你的应用程序将继续运行。

答案 3 :(得分:0)

我看到这个文件可以帮到你。 https://www.npmjs.com/package/forever。我试着在窗口。没关系。

这是我的评论

***按计划运行背景代码

  • Linux:nohup file-nodejs.js&
  • 窗口:
    • 永远安装:npm install forever -g
    • 启动/停止:永远启动file-nodejs.js |永远停止file-nodejs.js(restartall | restart | stopall)
    • 参考:https://www.npmjs.com/package/forever