在AWS弹性豆茎上安装PM2时,我遇到了一个问题。我为安装PM2创建了以下脚本:

option_settings:
  - option_name: NODE_ENV
    value: production
container_commands:
  01_enable_rootaccess:
    command: echo Defaults:root \!requiretty >> /etc/sudoers
  02_install_imagemagic:
    command: yum install -y ImageMagick
  03_download_new_relic:
    command: rpm -Uvh http://download.newrelic.com/pub/newrelic/el5/i386/newrelic-repo-5-3.noarch.rpm
    ignoreErrors: true
  04_install_new_relic:
    command: yum install -y newrelic-sysmond
    ignoreErrors: true
  05_add_license_key:
    command: /usr/sbin/nrsysmond-config --set license_key=xxxxxxx
    ignoreErrors: true
  06_start_new_relic:
    command: /etc/init.d/newrelic-sysmond start
    ignoreErrors: true
  07_install_pm2:
    command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/npm install pm2 -g
    ignoreErrors: true
  08_stop_old_pm2_processes:
    command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/pm2 delete all
    ignoreErrors: true
  09_start_pm2:
    command: sudo /opt/elasticbeanstalk/node-install/node-v0.10.26-linux-x64/bin/pm2 startup -u ec2-user
    ignoreErrors: true

我试过对命令8和9使用'pm2 delete all'和'pm2 startup',Put I just get command not found.当我给出PM2的特定路径(我登录到EC2并验证)时,我得到“第4行:执行::未找到”。知道我在这里做错什么了吗?提前感谢您的帮助!

最佳答案

我设法在弹性Beanstalk上全局安装PM2,在.ebextensions/your_file_name.config文件中嵌入以下代码段

container_commands:
  01_node_symlink:
    command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/node /bin/node"
  02_npm_symlink:
    command: "ln -sf `ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin/npm /bin/npm"
  03_pm2_install:
    command: "if [ ! -e /bin/pm2 ]; then npm install pm2 -g; fi"
    ignoreErrors: true

07-24 09:39
查看更多