2015-05-27 3 views
0

Мне было так удобно использовать foreman с приложениями Rails на Heroku и в других местах, которые я ищу клоны при работе с другими языками; Я использую honcho для Python/Django, и я использовал node-foreman для разработки проекта Express. Я готов переместить этот экспресс-проект в производство (Ubuntu 14.04 на Amazon EC2), и у меня проблемы.Использование узлового мастера под супервизором в производстве

я могу запустить и запустить проект, используя nf start просто отлично, но node-foreman docs сказать не демон такой вещи, а то, что я должен сгенерировать файл с supervisord конфом, используя что-то вроде

nf export --type supervisord --user ubuntu 

Это работает, и результаты выглядят правильно, но приложение Express не запускается, так как кажется невозможным получить значения из значений среды. supervisord успешно работает на сервере API RESTful на основе Django на том же хосте. Чувствительные значения заменены 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="[email protected]",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_ переменные окружения не видны.

Я не могу понять, есть ли проблема с supervisord или моим экспресс-заявлением или с node-foreman, и я был бы признателен за любые идеи и рекомендации. Я подозреваю, что это что-то простое и очевидное, но это первый раз, когда я пытался собрать все эти части вместе в производственной среде.

ответ

0

По-видимому, требуется много работы, чтобы сообщить supervisord, что вы серьезно относитесь к изменению настроек. This serverfault answer помог мне увидеть свет.

Смежные вопросы