我希望NodeJs服务器在启动时启动,如果它永远崩溃,请确保它保持运行。
我已经阅读了很多关于如何做的帖子以及与之相关的可能问题。 问题是我在给定的机器上有一个有限的内存,所以我被迫“#34;包含"的NodeJS。
阅读永久文档我发现可以使用以下命令完成:
forever start -c "node --max_old_space_size=512" myapp.js
以这种方式永远调用节点服务器传递内存参数,在这种情况下,将堆限制为512 MB。 所以我为rc.local编写了我的sh脚本,如下所示:
#!/bin/sh
cd /forever_bin_dir
./forever start -c "node --max_old_space_size=512" /myapp_dir/myapp.js
由于rc.local适用于有限的环境变量,"节点"无法找到并且脚本失败。
我甚至试过让Cron在其文件中添加以下行:
@reboot /forever_bin_dir/forever start -c "node --max_old_space_size=512" /myapp_dir/myapp.js
但同样的问题仍然存在。
我的问题是:如何在启动时永远地运行关于内存的争论?
答案 0 :(得分:0)
我发现this初始化脚本用于永久启动Node脚本。
答案 1 :(得分:0)
我发现的最好方法就是在脚本中设置PATH。
我在主文件夹中创建了一个sh脚本,名为launchforever.sh。 我使用#printenv命令获取了环境变量。
launchforever脚本如下所示:
#!/bin/sh
export PATH=<copied from printenv>:$PATH
forever start -c "node --max_old_space_size=30" > /dev/null
保存后,我给了它权限:
#chmod 700 /home/<user>/launchforever.sh
然后我将其添加到Cron:
#crontab -u <user> -e
在文件中我添加了:
@reboot /home/<user>/launchforever.sh