我对启动脚本和命令行选项感到有些困惑。我正在为我的节点应用程序构建一个基于小型raspberry pi的服务器。为了提供针对电源故障和闪存写入损坏的最大保护,根文件系统是只读的,并且包含我的主用户的主目录,是否存储了我的应用程序的生产版本(其中两个)。因为这里的.pm2目录对日志等没有好处,所以我目前将PM2_HOME环境变量设置到/ var中的一个位置(它周围有512kb的未使用空间,以确保写入i.eco-system.json文件也读取此环境变量确定将日志放在何处。
如果我需要,我还有一个辅助用户,在另一个用户(在其周围的缓冲区空间保护)分区中有一个读写主目录。这包含我的应用程序代码的开发版本,由于设置环境的便利等,我也想用PM2监视。如果我需要调查问题,我可以登录该用户并在那里运行并测试应用程序。
由于这是一个无头盒子,并且内置了看门狗和内核恐慌重启,我希望pm2在启动期间启动,并且至少重启两个生产应用程序。理想情况下,它也应该启动应用程序的两个开发版本,但如果它不可能,我可以没有它。
我可以将只读的根分区切换为读/写 - 当我将ssh插入我的生产用户帐户时,它确实会自动切换。当我退出时,它会自动切换回只读。
所以我去了这个帐户尝试创建一个启动脚本。然后它(不出所料)说我必须像这样运行一个sudo命令: -
sudo su -c "env PATH=$PATH:/usr/local/bin pm2 startup ubuntu -u pi --hp /home/pi"
这里的关键问题是--hp开关。我去找一些关于它意味着什么的线索。它显然是一个主目录,但它与PM2_HOME不匹配 - 在我的情况下将其设置为/ var / pas以将其从只读区域中取出。我不想尝试和我的主目录喷洒不应该存在的文件。所以我在这里要求一些指导
答案 0 :(得分:0)
我通过实验发现了它对" ubuntu"启动脚本。它通过附加" /。pm2"来使用它在脚本中设置PM2_HOME。它。
然而,一旦创建脚本并将PM2_HOME设置为您想要的任何内容,就没有什么能阻止您编辑脚本。
如此有效地它是脚本的帮助者,但只有那个而且没什么特别的。