Ищем причину почему не включается nginx на VPS сервере. Причин может быть очень много. В этой краткой заметке небольшое описание где искать ошибку.
Откуда растет история
Давно следовало написать про логи, но откуда-то же надо начинать. Обычно я пишу статьи после разбора ошибок. Так и в этот раз.
Как-то с утра был я в дороге и вдруг сообщение от системного мониторинга сайтов, что сайты на одном из серверов не работают. Хорошо, что на телефоне у меня была установлена программа ftp доступа. Так что я быстро всё починил.
Полез смотреть включены ли службы на VPS. Это надо делать в первую очередь. И вижу, что отключена служба nginx и не включается. Что могло приключиться, не понятно, никаких ручных изменений уже более месяца на сервере не происходило.
Где искать причину
Любые ошибки в Linux системах (и не только) обычно документируются. Искать нужно в лог файалах. В данном случае в файле по такому пути:
Путь указан для системы CentOS (стоит панель управления Vesta).
Ошибки были такого плана:
2018/01/23 09:12:48 [emerg] 985#985: unexpected "}" in /home/admin/conf/web/snginx.conf:1
2018/01/23 09:20:40 [emerg] 2697#2697: unexpected "}" in /home/admin/conf/web/snginx.conf:1
Из этого сообщения мы видим, что по адресу /home/admin/conf/web/snginx.conf в файле snginx.conf находится «неожидаемая» скобка.
И действительно, зайдя в файл snginx.conf. В его начале красовалась закрывающая скобка. После её удаления сервер nginx запустился.
Откуда возникла эта скобка я не разбирался. Обычно на такие вещи можно потратить сутки и не понять. Я полагаю, что какие-то автоматические системные процедуры (может быть обновления) внесли изменения в этот файл и накосячили.