Node.js 在生产中使用节点工长

Node.js 在生产中使用节点工长,node.js,express,supervisord,foreman,Node.js,Express,Supervisord,Foreman,我在Heroku和其他地方使用Rails应用程序时感觉非常舒服,所以当我使用其他语言时,我会寻找克隆;我使用Python/Django,我一直在使用它开发一个Express项目。我准备将这个Express项目投入生产(AmazonEC2上的Ubuntu 14.04),但我遇到了麻烦 我可以使用nf start启动并运行项目,但我可以说不要将这样的事情后台化,而是应该使用以下内容生成一个supervisordconf文件 nf export --type supervisord --user ub

我在Heroku和其他地方使用Rails应用程序时感觉非常舒服,所以当我使用其他语言时,我会寻找克隆;我使用Python/Django,我一直在使用它开发一个Express项目。我准备将这个Express项目投入生产(AmazonEC2上的Ubuntu 14.04),但我遇到了麻烦

我可以使用
nf start
启动并运行项目,但我可以说不要将这样的事情后台化,而是应该使用以下内容生成一个
supervisord
conf文件

nf export --type supervisord --user ubuntu
这是可行的,结果看起来是正确的,但是Express应用程序不会启动,因为它似乎无法从环境值中提取值
supervisord
正在同一主机上成功运行基于Django的RESTful API服务器。敏感值被替换,
foreman-web-1.conf
看起来像:

[program:foreman-web-1]
command=npm start
autostart=true
autorestart=true
stopsignal=QUIT
stdout_logfile=/var/log/foreman-web-1.stdout.log
stderr_logfile=/var/log/foreman-web-1.stderr.log
user=ubuntu
directory=/home/sites/site-root
environment=PORT="3000",API_HOST="api.example.com",USER="user",PASS="password",SES_USER="ses_user",SES_PASS="ses_pass",SES_SMTP_HOST="email-smtp.us-west-2.amazonaws.com",SES_SMTP_PORT="587",RECAPTCHA_SITE_KEY="site_key",RECAPTCHA_SECRET="secret",FEEDBACK="someone@example.com",PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games",PORT="3000",FOREMAN_WORKER_NAME="web.1"
但是stderr.log包含

/home/sites/site-root/node_modules/express-recaptcha/lib/express-recaptcha.js:27
  if (!this.site_key) throw new Error('site_key is required');
                            ^
Error: site_key is required
这表明没有看到
RECAPTCHA_uu
环境变量


我无法确定问题是否出在
supervisord
或我的Express应用程序或
节点领班
上,如有任何见解或建议,我将不胜感激。我怀疑这是一件简单而明显的事情,但这是我第一次尝试让所有这些部件在生产环境中协同工作。

显然,要让
主管知道您对更改设置是认真的,需要做很多工作。帮助我看到光明