Не мог перезапустить nginx через systemd, потому что это уже работает

Я пытаюсь перезапустить nginx, и systemd не хочет.

Насколько я могу сказать, nginx гудит вперед очень хорошо, и он отвечает на запросы как ожидалось, но systemd, кажется, не думает, что управляет сервисом, таким образом, я предполагаю, что он пытается запустить новую копию, которая перестала работать, потому что теперь он пытается связать с:80, который уже взят.

После некоторого поиска и устранения неисправностей я просто сдался и перезагрузил машину, полагая, что это решит вопрос, но к моему удивлению который сажает меня назад в том же состоянии снова.

Единственным путем я могу найти для создания systemd счастливый,

# killall nginx
# systemctl restart nginx.service

Но я, очевидно, не хочу полагаться на это. Информация о моем текущем состоянии:

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

# journalctl -xe
-- Unit nginx.service has begun starting up.
Oct 22 12:12:43 shared1 nginx[4772]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx[4772]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx[4772]: nginx: [emerg] still could not bind()
systemd[1]: nginx.service: Control process exited, code=exited status=1
systemd[1]: Failed to start A high performance web server and a reverse proxy server.
-- Subject: Unit nginx.service has failed

# netstat -lpn | grep :80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      3607/nginx

# ps fax | grep nginx
4827 pts/0    S+     0:00                          \_ grep --color=auto nginx
3607 ?        Ss     0:00 nginx: master process /usr/sbin/nginx
3608 ?        S      0:00  \_ nginx: worker process
3609 ?        S      0:00  \_ nginx: cache manager process

# cat /etc/issue
Ubuntu 16.04.3 LTS \n \l

$ nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

$ find /etc/systemd/ /lib/systemd/system -name nginx.service
/etc/systemd/system/multi-user.target.wants/nginx.service
/lib/systemd/system/nginx.service
$ stat /etc/systemd/system/multi-user.target.wants/nginx.service 2>&1 | head -n1
  File: '/etc/systemd/system/multi-user.target.wants/nginx.service' -> '/lib/systemd/system/nginx.service'
$ stat /lib/systemd/system/nginx.service 2>&1 | head -n2
  File: '/lib/systemd/system/nginx.service'
  Size: 986             Blocks: 8          IO Block: 4096   regular file
1
задан 22 October 2017 в 22:36

1 ответ

sudo killall apache2

Чтобы решить задание для nginx .service не удалось, так как процесс управления завершился с кодом ошибки. Подробнее см. systemctl status nginx.service и journalctl -xe.

1
ответ дан 18 December 2019 в 17:27

Другие вопросы по тегам:

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