我使用的博客平台specter在我运行npm start
时启动。只有当我运行npm start
时,它才会显示在网站网址上。如果我在终端中执行命令-c,它将退出运行程序包,站点将关闭,直到我再次运行npm start
。有没有办法设置服务器以保持网站连续?现在我必须在进行任何编辑之前删除该网站,然后使用npm start
开始备份。
答案 0 :(得分:2)
您可以做的一件事是通过Nodejitsu安装Forever。这样做是它在后台“永远”运行您的节点脚本,或直到您停止进程或设置超时限制。
要安装Forever,请执行以下操作:
npm install forever -g
对于您的情况,您需要进入Spectre所在的目录并永远启动:
cd $(specterLocation)
forever start server.js
这将在后台启动您的服务器,直到您执行以下操作:
forever stop server.js (in directory of Specter)
forever stopall (wherever on server)
要查看Forever启动的流程列表,只需使用:
forever list
希望这有帮助!
答案 1 :(得分:2)
您可能需要查看nodemon
只要检测到nodemon启动的目录发生更改,它就会自动重启节点应用程序。
它也可以作为npm包使用(https://npmjs.org/package/nodemon)。
答案 2 :(得分:1)
只需在网站运行时进行修改即可。然后,当您完成后,停止该站点并重新启动它。该站点不是从文件中连续运行,而是启动,加载到内存中,然后从那里运行,释放它对文件的保留。
或者,您可以实施任何数量更强大的管理策略,包括版本控制,流程管理器,集成策略......如果您计划提高技能以支持大批量或商业实施,那么您应该看一下进入这些事情。如果您只是运行个人博客,那就是编辑文件,然后在完成后重新启动服务器进程。
答案 3 :(得分:0)
使用Node Supervisor。它非常易于使用和安装。
npm install supervisor -g
用
运行supervisor whateverFileYouWant.js