7

Ich laufe auf ein Problem, das PM2 global auf aws elastischen Bohnenstalk installiert. Ich habe das folgende Skript für die Installation von PM2:npm globale Installation auf elastischen Bohnenstange

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 

ich versucht habe, mit nur ‚PM2 löschen all‘ und ‚PM2 startup‘ für Befehle 8 & 9 put bekomme ich nur Befehl nicht gefunden. wenn ich den spezifischen Pfad zu PM2 gebe (ich habe mich an der ec2 angemeldet und verifiziert), bekomme ich "Zeile 4: exec:: nicht gefunden". Irgendeine Idee, was ich hier falsch mache? Vielen Dank im Voraus für Ihre Hilfe!

Antwort

0

Möglicherweise müssen Sie sicherstellen, dass das Modul nodejs-legacy installiert ist. Wenn pm2 von der ausführbaren Datei mit dem Namen node abhängig ist, wird das fehlschlagen, wenn das System es global als nodejs installiert, wie es einige Linux-Systeme (Ubuntu, Debian) oft tun.

5

ich es geschafft, PM2 global auf elastischen bohnenstange mit dem folgenden Code-Schnipsel in einer .ebextensions/your_file_name.config Datei

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 
eingebettet zu installieren