Согласно документации здесь: 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? Если это так, как я могу добавить правильный путь к корню (по крайней мере, я думаю, что он должен быть добавлен в корень)
Создание символической ссылки на корне исправлено. 'ln -s/usr/bin/nodejs/usr/sbin/node' –