Я могу успешно запустить приложение rails на своем сервере, используя Puma в качестве сервера приложений. Я начинаю Puma, как это:Как мне поддерживать сервер приложений Puma?
bundle exec puma -e production -b unix:///var/run/my_app.sock
Это команда Unix, которая начинается пума в производственном режиме в указанном месте. Однако, если мне нужно перезагрузить vps, мне нужно будет пройти через все мои приложения и снова запустить эту команду, чтобы запустить сервер Puma для каждого приложения.
Каков наилучший способ сделать это? Я немного в нуб Ubuntu, но было бы лучше всего, чтобы быть этим:
Каждый раз, когда я устанавливаю новое приложение рельсы на моем VPS, я
sudo vi /etc/rc.local
и добавить rc.local с команда? Так что rc.local выглядит примерно через некоторое время:
#!/bin/sh -e
#
# rc.local
#
bundle exec puma -e production -b unix:///var/run/app_1.sock
bundle exec puma -e production -b unix:///var/run/app_2.sock
bundle exec puma -e production -b unix:///var/run/app_3.sock
bundle exec puma -e production -b unix:///var/run/app_4.sock
bundle exec puma -e production -b unix:///var/run/app_5.sock
exit 0
Для Единорога я должен был написать [мой собственный сценарий инициализации] (https://gist.github.com/mdesantis/4740439), как и для [delayed_job ] (https://gist.github.com/mdesantis/5143647); вы можете посмотреть на них и вдохнуть вдохновение. Для Ubuntu/Debian шаблон сценария инициализации находится в '/ etc/init.d/skeleton', демоны управляются командой' service' и включаются/деактивируются при запуске командой 'update-rc.d'. Удачи :) – mdesantis