node.js - PM2——其他用户编辑时 watch 不工作

标签 node.js ubuntu pm2

在 Ubuntu 上运行,包括 pm2 在内的所有内容的最新版本。

我的主用户“ubuntu”可以通过 ssh 进行完全访问, 只允许 sftp 访问的用户“sftp”,该用户还拥有 Nodejs 应用程序所在的文件夹。

要设置启动时自动启动和文件监视,我做了:

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

第二个是创建一个 json 文件供 pm2 加载,并在其中使用绝对路径:

{
  "apps": [{
    "name": "my_app",
    "script": "/path/to/project",
    "watch" : ["/path/to/project"],
  }]
}

随后是pm2 start my_pm2_config.json

编辑:第三种解决方案(来自 pm2 git issue thread 关于 cwd)。 导航到项目目录并从那里运行 pm2 start index.js --name my_app --watch 。重新启动后,该工作目录将保留。

关于node.js - PM2——其他用户编辑时 watch 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72645097/

相关文章:

node.js - 使用目标特定代码创建 npm 模块

javascript - 从代码级别重启 node.js 应用程序

javascript - 为什么nestjs拦截器返回未定义?

ubuntu - 如何将我的全局 vue-cli 安装升级到最新版本?

node.js - 使用 pm2 启动时 NodeJS 应用程序出现错误

shell - 杀死一个 Docker 容器

node.js - 在 pm2 中从 fork 切换到集群模式

javascript - Phantomjs 无法正确捕获网页的屏幕截图

bash - 如何在没有进一步用户交互的情况下使用 sudo 在单独的终端中运行命令

python - 无法使用 PIP 升级 Scipy