Автоматический перезапуск Apache2 в случае сбоя/падения

Используемая ОС — Ubuntu 18.04, веб-сервис — Apache2.
Открываем на редактирование конфигурационный файл сервиса (демона) по адресу /lib/systemd/system/apache2.service командой:

sudo nano /lib/systemd/system/apache2.service

и видим примерно следующее:

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=https://httpd.apache.org/docs/2.4/

[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true

[Install]
WantedBy=multi-user.target

В конец раздела [Service] необходимо добавить строки

Restart=always
RestartSec=3

чтобы получилось следующее:

[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=https://httpd.apache.org/docs/2.4/

[Service]
Type=forking
Environment=APACHE_STARTED_BY_SYSTEMD=true
ExecStart=/usr/sbin/apachectl start
ExecStop=/usr/sbin/apachectl stop
ExecReload=/usr/sbin/apachectl graceful
PrivateTmp=true
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

В строке RestartSec=3 указывается время в секундах, через которое будет выполнена попытка перезапустить сервис; в нашем примере этот промежуток равен трём секундам.

Сохраняем изменения, выходим из редактора и перезапускаем демон, чтобы применились новые настройки конфигурации, следующей командой:

sudo systemctl daemon-reload

Теперь, в случае неожиданного несанкционированного «падения веб-сервера», сервис апача перезапустится автоматически через указанное Вами количество секунд.

Всё готово!

Об авторе admin

Аватар