在 aws elastic beanstalk 中启动节点 pm2 进程管理器的问题,npm 更新检查失败
Posted
技术标签:
【中文标题】在 aws elastic beanstalk 中启动节点 pm2 进程管理器的问题,npm 更新检查失败【英文标题】:Issue with starting node pm2 process manager in aws elastic beanstalk, npm update check failed 【发布时间】:2020-01-13 16:29:22 【问题描述】:我正在尝试使用 pm2 来管理我的 typescript 节点应用程序,该应用程序已部署到 elasticbeanstalk。
每次 pm2 启动一个新实例时,我都会在日志中看到它
----------node.js 日志----------- ------
pm2 start pm2.yaml
[PM2] Spawning PM2 daemon with pm2_home=/tmp/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications server not running, starting...
[PM2] App [server] launched (1 instances)
Use pm2 show <id|name> to get more details about an app
npm update check failed
Try running with sudo or get access
to the local update config store via
sudo chown -R $USER:$(id -gn $USER) /tmp/.config
----------结束---------- -
然后它每次尝试重新启动应用程序并启动另一个实例,最终以应用程序的降级结束。
我尝试使用它建议的命令,但无济于事。
我们将不胜感激任何帮助。 :)
【问题讨论】:
您找到解决方案了吗?谢谢! 【参考方案1】:我遇到了同样的问题。解决方案是向 Elastic Beanstalk nodejs
用户添加权限,以便它访问 /tmp/.config
。为此,您可以要求 Elastic Beanstalk 运行以下 ebextensions 部署后 shell 脚本:
.ebextensions/00_set_npm_permissions.config
files:
"/opt/elasticbeanstalk/hooks/appdeploy/post/00_set_tmp_permissions.sh":
mode: "000755"
owner: root
group: root
content: |
#!/usr/bin/env bash
chown -R nodejs:nodejs /tmp/.config
我希望这会有所帮助。
【讨论】:
以上是关于在 aws elastic beanstalk 中启动节点 pm2 进程管理器的问题,npm 更新检查失败的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS elastic-beanstalk 中更改我的 python 版本
如何在 AWS Elastic Beanstalk 中更改数据库配置
在 AWS Elastic Beanstalk 和 EKS 上部署了一个 laravel 应用程序 相同的数据库 RDS 为啥在 Elastic Beanstalk 中获得快速响应
如何在 AWS Elastic Beanstalk 中选择特定平台?