Не запускается nginx. Что делать?

Недавно перевез свои сайты на новый сервер с ubuntu 18. Все настроил как надо, радовался большей мощности и отсутствию ошибок в связи с малым объемом оперативной памяти.

Но однажды хостер проводил на сервере работы и отключал-запускал мой сервер. И о ужас мои сайты перестали работать, браузер не может найти сервер. Войти через ssh можно нормально все вроде на месте, но довольно быстро понял что Не запускается nginx. Я и так, и сяк, и сервер перезагружал, не запускается и все тут, что делать?

Терминал выдает что-то типа:

Job for nginx.service failed because the control process exited with error code. 
See "systemctl status nginx.service" and "journalctl -xe" for details

Тут я понял надо глянуть в error.log.

Открываю файл /var/log/nginx/error.log а там:

2021/07/10 14:30:12 [emerg] 654#654: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/10 14:30:12 [emerg] 654#654: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/10 14:30:12 [emerg] 654#654: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/10 14:30:12 [emerg] 654#654: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/10 14:30:12 [emerg] 654#654: bind() to 0.0.0.0:80 failed (98: Address already in use)
2021/07/10 14:30:12 [emerg] 654#654: still could not bind()

То есть 0.0.0.0:80 Уже занят и nginx не может его занять соответственно не запускается. Кто мог занять этот порт? И почему раньше этого не происходило, по всей видимости это произошло после перезагрузки сервера. До этого я по ошибке добавил ссылку на конфигурацию одного из сайтов в директорию apache2. И теперь, в место этого сайта показывалась дефолтная страница апача. И тут я понял кто занял 0.0.0.0:80. Видимо при перезагрузке сервера апач автоматически запустился.

Решений у проблем несколько в зависимости от ваших потребностей, во-первых убрать апач из авто загрузки, или настроить конфиги серверов так чтобы они не конфликтовали по поводу IP-адрессов и портов.

Я выбрал третий способ просто удалить апач полностью потому-что я его не использую.

Как это сделать в терминал вводим следующие команды

sudo service apache2 stop
sudo apt-get purge apache2*
sudo apt-get autoremove
sudo rm -r -f /*/apache2*

и запускаем nginx

sudo systemctl start nginx

проверяем всели работает и перезагружаем сервер, и опять проверяем все ли работает.

Вывод: Проблем можно было бы избежать если бы я после настройки сервера, его сам перезагрузил и проверил все ли правильно работает!

Опубликовано
В рубрике Сервер