运行在Ubuntu上,最新版本包括pm2。
我有我的主用户"ubuntu"通过ssh完全访问,用户"这只允许拥有nodejs应用所在文件夹的SFTP访问。
在引导和文件监视中设置自动启动:
pm2 startup systemd
*pasted the cmd output*
pm2 start path/to/project/index.js --watch --name app_name
pm2 save
它在启动时自动启动,但当我对项目文件进行更改时(我确认它们已同步到远程),pm2不会重新加载应用程序。我在某些地方读到,监视更改的用户必须与所述文件的所有者相同,我该怎么做?在通过pm2启动应用程序之前,我尝试了sudo su
,但这也不起作用。
提前谢谢你。
找到了,这是pm2监视器的工作目录。通过提供它工作的目录的绝对路径,尝试了两种方法:pm2 start /path/to/project --name my_app --watch /path/to/project
第二个是为pm2创建一个json文件来加载,也使用绝对路径:
{
"apps": [{
"name": "my_app",
"script": "/path/to/project",
"watch" : ["/path/to/project"],
}]
}
接pm2 start my_pm2_config.json
编辑:第三个解决方案(来自pm2 git关于cwd的问题线程)。导航到项目目录并从那里运行pm2 start index.js --name my_app --watch
。重启后,此工作目录将保留。