【发布时间】:2017-01-24 00:55:20
【问题描述】:
我正在尝试使用 AWS CodeDeploy 来部署我的应用程序。一切似乎都运行良好,但我收到以下错误。
[stderr]/opt/codedeploy-agent/deployment-root/f1ea67bd-97bo-08q1-b3g4-7b14becf91bf/d-WJL0QLF9H/deployment-archive/scripts/start_server.sh: 第 3 行:pm2:找不到命令
下面是我的 start_server.sh 文件。
#!/bin/bash
pm2 start ~/server.js -i 0 --name "admin" &
我尝试使用 SSH 以 ubuntu 用户身份连接到我的服务器并运行该 bash 文件,它可以完美运行,没有错误。所以我知道 PM2 已在该用户上安装并正常工作。
下面也是我的 appspec.yml 文件。
version: 0.0
os: linux
files:
- source: /
destination: /home/ubuntu
hooks:
ApplicationStart:
- location: scripts/start_server.sh
timeout: 300
runas: ubuntu
ApplicationStop:
- location: scripts/stop_server.sh
timeout: 300
runas: ubuntu
也不确定这是否会有所帮助,但这是我的 stop_server.sh 文件。
#!/bin/bash
npm install pm2 -g
pm2 stop admin || true
pm2 delete admin || true
有什么想法吗?
【问题讨论】:
标签: node.js linux bash npm aws-code-deploy