У меня пума веб - сервер работает мой лихой панель с Linux VM. В настоящее время виртуальная машина запускается, как только запускается мой компьютер, но мне приходится вручную запускать сервер.

Я обычно делаю следующее после входа в ssh;

screen -S dashing
cd dashboard
sudo bundle exec puma
Ctrl + a + d

Я попытался превратить это в bash-скрипт, но он, кажется, не выполняет строки 2-4 в сеансе экрана, и я застрял в том, как заставить это работать. Я даже не уверен, что это лучший подход для запуска puma при запуске (сценарий bash должен был быть включен в /etc/rc.local если бы я мог заставить его работать).

1 ответ1

1

За исключением последних версий Ubuntu, большинство из них используют upstart, и это кажется хорошим решением для этого. Я не достаточно знаком с systemd, и если ваша сборка использует его, вам, вероятно, понадобится совсем другая версия. Вот почему дистрибутивы и версии имеют значение.

Это, кажется, хорошее начало - и вы должны прочитать это. Я бы поступил немного по-другому, и в интересах публикации самостоятельного ответа, я включил сценарий, как я его напишу. Я бы посоветовал взглянуть на оба документа и на выскочку документации, чтобы скорректировать это, чтобы лучше соответствовать вашим потребностям. Я хотел бы отметить, что вы запускаете это как root - вы действительно должны делать это как определенный пользователь. Я сделал несколько изменений, которые имеют смысл для меня - вы можете изменить консольный журнал на консольный, если вы уверены, что это работает, и я установил явные команды запуска и остановки. Это предполагает, что у вас есть пользователь с именем dashboard - вы можете опустить команды setuid и setguid.

Не очень проверено, но это имеет смысл как есть. Перетащите это в /etc/init/dashing.conf

respawn
console log
start on runlevel [23]
stop on [!23]

setuid dashboard
setgid dashboard

script
  chdir /home/dashboard/dashboard/
  dashing start
end script

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .