2016-02-05 113 views
0

我对启动脚本和命令行选项有点困惑。我正在为我的节点应用程序构建一个基于树莓派的小型服务器。为了最大程度地防止电源故障和闪存写入损坏,根文件系统是只读的,并且包含我的主用户的主目录,是我的应用程序的生产版本(其中两个)被存储。因为这里的.pm2目录对日志等没有好处,所以我现在将PM2_HOME环境变量设置为/ var(其周围有512kb未使用的空间以确保写入i)。eco-system.json文件还读取了此环境变量以确定在哪里放置它的日志PM2启动的命令行参数是什么意思是

如果我需要,我还有一个辅助用户,在另一个读写主目录(受其周围的缓冲区空间保护)的分区中,这包含我的应用程序代码的开发版本这是因为设置环境的便利等我也想用PM2进行监控如果我需要调查一个问题,我可以登录到该用户并在那里运行和测试应用程序

由于这是一个无头盒,并且看门狗和内核恐慌重新启动b我想让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

我通过实验发现它是如何处理“ubuntu”启动脚本的。它通过在脚本中添加“/.pm2”来设置PM2_HOME。

但是,没有什么能够阻止您在创建脚本并将PM2_HOME设置为您想要的任何内容后对其进行编辑。

非常有效地为脚本提供帮助,但仅此而已,没有什么更特别的。