Vestacp: после ребута apache и nginx не стартует сам

На купленной VPS (Centos 7 + панель VestaCP) обнаружилась странная проблема: после перезагрузки VPS не стартует nginx или apache или оба одновременно. Приходится заходить на сервер и запускать их вручную. При ручном запуске все проходит успешно, т.е ошибок в конфигурационных файлах нет.

Предварительный гуглёж по теме показал, что проблема в том, что сетевой интерфейс на VPS - виртуальный и поднимается с некоторой задержкой после старта системы. А ngnix стартует раньше, и, т.к на момент его старта сети еще нет - ngnix вылетает с ошибкой и на этом всё заканчивается.

Вот такую картину видим после ребута

[root@vps-hubbiton ~]# service nginx status
Redirecting to /bin/systemctl status nginx.service
● nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Ср 2016-10-12 23:40:56 MSK; 23s ago
Docs: http://nginx.org/en/docs/
Process: 108 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)

окт 12 23:40:53 vps-hubbiton systemd[1]: Stopping nginx - high performance web server...
окт 12 23:40:53 vps-hubbiton systemd[1]: Stopped nginx - high performance web server.
окт 12 23:40:56 vps-hubbiton systemd[1]: Starting nginx - high performance web server...
окт 12 23:40:56 vps-hubbiton nginx[108]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
окт 12 23:40:56 vps-hubbiton nginx[108]: nginx: [emerg] bind() to 89.108.88.152:80 failed (99: Cannot assign requested address)
окт 12 23:40:56 vps-hubbiton nginx[108]: nginx: configuration file /etc/nginx/nginx.conf test failed
окт 12 23:40:56 vps-hubbiton systemd[1]: nginx.service: control process exited, code=exited status=1
окт 12 23:40:56 vps-hubbiton systemd[1]: Failed to start nginx - high performance web server.
окт 12 23:40:56 vps-hubbiton systemd[1]: Unit nginx.service entered failed state.
окт 12 23:40:56 vps-hubbiton systemd[1]: nginx.service failed.
Hint: Some lines were ellipsized, use -l to show in full.
[root@vps-hubbiton ~]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Ср 2016-10-12 23:40:56 MSK; 59s ago
Process: 160 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
Process: 106 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 106 (code=exited, status=1/FAILURE)

окт 12 23:40:56 vps-hubbiton httpd[106]: AH00558: httpd: Could not reliably determine the server's fully qualified doma...essage
окт 12 23:40:56 vps-hubbiton httpd[106]: (99)Cannot assign requested address: AH00072: make_sock: could not bind to add...2:8080
окт 12 23:40:56 vps-hubbiton httpd[106]: no listening sockets available, shutting down
окт 12 23:40:56 vps-hubbiton httpd[106]: AH00015: Unable to open logs
окт 12 23:40:56 vps-hubbiton systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
окт 12 23:40:56 vps-hubbiton kill[160]: kill: cannot find process ""
окт 12 23:40:56 vps-hubbiton systemd[1]: httpd.service: control process exited, code=exited status=1
окт 12 23:40:56 vps-hubbiton systemd[1]: Failed to start The Apache HTTP Server.
окт 12 23:40:56 vps-hubbiton systemd[1]: Unit httpd.service entered failed state.
окт 12 23:40:56 vps-hubbiton systemd[1]: httpd.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

На помощь пришла техподдержка хостинга (админам mne.ru и Андрею Петрову лично - плюсик в карму). Решение оказалось очень простое и радикальное:

В файле /usr/lib/systemd/system/nginx.service есть параметр After=network.target
(т.е. стартовать когда запущена сеть), проблема заключается в том, что стартует раньше и раз сеть ещё не запущена, сервис не стартует.
В рамках исключений мы добавили строку:

Wants=network.target

На текущий момент, после перезапуска VPS запустились оба веб-сервера.

 

Поделиться записью в соцсетях:

 


Version 6:54 29.05.2017