Node.js 试图使用upstart运行npm脚本,但无法';找不到npm的安装位置

Node.js 试图使用upstart运行npm脚本,但无法';找不到npm的安装位置,node.js,amazon-ec2,npm,upstart,nvm,Node.js,Amazon Ec2,Npm,Upstart,Nvm,我通过AWSEC2启动了一个AmazonLinux实例。我正在尝试编写一个upstart脚本,该脚本将在实例启动时启动节点服务器 如果我在终端中运行npm start,我的节点服务器将成功启动。我正在使用以下upstart脚本,但它不会启动我的服务器 # Upstart Script for My Server description "my-server" start on started mountall stop on shutdown # Automatically Respawn

我通过AWSEC2启动了一个AmazonLinux实例。我正在尝试编写一个upstart脚本,该脚本将在实例启动时启动节点服务器

如果我在终端中运行
npm start
,我的节点服务器将成功启动。我正在使用以下upstart脚本,但它不会启动我的服务器

# Upstart Script for My Server
description "my-server"

start on started mountall
stop on shutdown

# Automatically Respawn
respawn
respawn limit 99 5

# Environment Variables
env NODE_ENV=development

# Script to Start Server
script
  cd /home/ec2-user/my-server
  exec /usr/bin/npm start >> /var/log/my-server.log 2>&1
end script

检查
/var/log/my server.log
文件告诉我
/user/bin/npm:没有这样的文件或目录

我的问题是因为我有(节点版本管理器)。NPM未安装在我的
/user/bin
目录中。我只需要找到NVM安装的地方

# Script to Start Server
# - Referencing 'npm' from Node Version Manager (NVM) install location.
script
  cd /home/ec2-user/my-server
  exec /home/ec2-user/.nvm/versions/node/v4.4.5/bin/npm start >> /var/log/my-server.log 2>&1
end script
为什么要使用upstart(现在基本上已被放弃)而不是systemd/monit/pm2/等等?