2016-06-02 13 views
3

Согласно документации здесь: http://pm2.keymetrics.io/docs/usage/startup/#startup-systems-supportКак вы используете запуск pm2 с пользователем без полномочий root?

Вы можете использовать команду pm2 startup ubuntu -u nodeapps воскресить все сохраненные задания PM2 при запуске сервера.

Я выполнил эту команду как пользователь nodeapps. Затем мне была дана команда sudo su для запуска. Я вышел из nodeapps, используется SUDO су, чтобы войти в систему как корень, и побежал команду:

sudo su -c "env PATH=$PATH:/usr/bin pm2 startup ubuntu -u nodapps --hp /home/nodeapps" 

процессы не перезапускать при перезагрузке сервера. Я нашел этот вопрос в Stack Overflow: Ubuntu 14.04 - pm2 startup not starting after reboot.

В сценарии /etc/init.d/pm2-init.sh я нашел строку, возник вопрос о решении:

export PATH=/usr/bin:$PATH 
export PM2_HOME="/home/nodeapps/.pm2" 

Но это выглядит правильно мне, так что я ничего не изменилось.

Я тогда нашел этот вопрос: pm2 Startup not starting up on Ubuntu

и в моих журналах загрузки я нахожу следующую строку:

Starting pm2 
/usr/bin/env: node: No such file or directory 

Я знаю, что «узел» на Ubuntu является на самом деле «nodejs». Может ли это быть причиной?

Если это так, то что я могу сделать, чтобы команда запуска выглядела для nodejs вместо узла.

В качестве альтернативы, это может быть проблема $ PATH? Если это так, как я могу добавить правильный путь к корню (по крайней мере, я думаю, что он должен быть добавлен в корень)

+0

Создание символической ссылки на корне исправлено. 'ln -s/usr/bin/nodejs/usr/sbin/node' –

ответ

2

(Отправлено от имени ОП).

На самом деле это была проблема. Исправлено путем создания символической ссылки (с правами root):

ln -s /usr/bin/nodejs /usr/sbin/node 
Смежные вопросы