Служба не запускается при перезагрузке сервера

Сначала проверьте, правильно ли работает терминал:

На последовательном терминале RS -232 со стандартной распиновкой (DTE)

https://en.wikipedia.org/wiki/RS-232

http://pinouts.ru/SerialPorts/RS232_pinout.shtml

Вы можете замкнуть накоротко -контакты 2 и 3, и если терминал работает, символ, набранный на клавиатуре, будет отображаться на экране.

0
24.01.2020, 20:59
2 ответа

Вы перезагрузили демон systemctl?

systemctl daemon-reload  
systemctl enable service_name

Я знаю, что в дистрибутивах Centos хранятся журналы загрузки

cat /var/log/boot.log
0
28.01.2020, 02:54

Если ваше приложение Ruby конфликтует со службой httpd, я не понимаю, почему вы должны поддерживать работу этой службы только для того, чтобы остановить ее в своемrun.sh:просто запустите systemctl disable httpdодин раз, и она даже не будет запущена.

Теперь вы можете полностью удалить свой run.shи создать свой служебный файл с Type=simpleи ExecStart=/full/path/to/rails s -p 80. Обратите внимание на удаление опции -d; это сделано намеренно и хорошо работает с Type=simple.

Для страховки вы можете добавить Conflicts=httpd.service, чтобы сообщить systemd, что ваша служба и httpdне могут работать одновременно.

Итак, ваш /etc/systemd/system/my-ruby-application.serviceдолжен выглядеть так:

# Start the ruby on rails app on boot
[Unit]
Description=Start Ruby Online Ordering Application
Conflicts=httpd.service

[Service]
Type=simple
Username=root
PIDFile=/home/deviant/www/tmp/pids/server.pid
WorkingDirectory=/home/deviant/www
ExecStart=/some/full/path/rails s -p 80
TimeoutSec=300

[Install]
WantedBy=multi-user.target

Чтобы заставить systemdперезапустить службу в случае сбоя по какой-либо причине, добавьте параметр Restart=, соответствующий вашим требованиям (см. Таблицу 2 вman systemd.service). Если вы это сделаете, рекомендуется также добавить RestartSec=<sensible restart delay>, чтобы избежать зависания вашего сервера с повторными попытками перезапуска с интервалом 0,1 с (по умолчанию ), если ваша служба продолжает сбой после каждой попытки перезапуска, возможно, потому что вы редактировали его конфигурационный файл и случайно допустили ошибку.

После того, как вы отредактировали файл my-ruby-application.service, вы должны запустить systemctl daemon-reload, затем systemctl disable httpdи systemctl stop httpd, если вы еще этого не сделали, и, наконец, systemctl enable my-ruby-applicationи systemctl start my-ruby-application.

2
28.01.2020, 02:54

Теги

Похожие вопросы