Apache и катастрофический отказ Nginx, порт 80 используемый, не могут заставить ни одного запускаться/Останавливать/Удалять

Я пытался настроить dev среду на новой установке Ubuntu 18.04, и я сталкиваюсь с проблемой с Nginx и Apache.

Во-первых, я установил Apache2. Все казалось в порядке.

Затем я установил Компоновщик, Laravel и Камердинера. Выполнение valet install дал мне следующее сообщение:

[nginx] is not installed, installing it now via Apt...  

Reading package lists...

Building dependency tree...

Reading state information...

The following NEW packages will be installed:

  nginx

0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded.

1 not fully installed or removed.

Need to get 0 B/25.2 kB of archives.

After this operation, 36.9 kB of additional disk space will be used.

Selecting previously unselected package nginx.

(Reading database ... 172679 files and directories currently installed.)

Preparing to unpack .../nginx_1.14.0-0+bionic0_all.deb ...

Unpacking nginx (1.14.0-0+bionic0) ...

Setting up nginx-full (1.14.0-0+bionic0) ...

Job for nginx.service failed because the control process exited with error 
code.

See "systemctl status nginx.service" and "journalctl -xe" for details.

invoke-rc.d: initscript nginx, action "start" failed.

● nginx.service - A high performance web server and a reverse proxy server

  Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)

 Active: failed (Result: exit-code) since Sat 2018-06-09 19:03:35 MST; 9ms ago

   Docs: man:nginx(8)

  Process: 4142 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)

 Process: 4138 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)


Jun 09 19:03:33 The-Lappy nginx[4142]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

Jun 09 19:03:33 The-Lappy nginx[4142]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Jun 09 19:03:34 The-Lappy nginx[4142]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

Jun 09 19:03:34 The-Lappy nginx[4142]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)

Jun 09 19:03:34 The-Lappy nginx[4142]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

Jun 09 19:03:34 The-Lappy nginx[4142]: nginx: [emerg] bind() to [::]:80 failed 
(98: Address already in use)

Jun 09 19:03:35 The-Lappy nginx[4142]: nginx: [emerg] still could not bind()

Jun 09 19:03:35 The-Lappy systemd[1]: nginx.service: Control process exited, 
code=exited status=1

Jun 09 19:03:35 The-Lappy systemd[1]: nginx.service: Failed with result 'exit-
code'.

Jun 09 19:03:35 The-Lappy systemd[1]: Failed to start A high performance web 
server and a reverse proxy server.

dpkg: error processing package nginx-full (--configure):

 installed nginx-full package post-installation script subprocess returned 
error exit status 1

dpkg: dependency problems prevent configuration of nginx:

 nginx depends on nginx-full (<< 1.14.0-0+bionic0.1~) | nginx-light (<< 1.14.0-0+bionic0.1~) | nginx-extras (<< 1.14.0-0+bionic0.1~); however:

  Package nginx-full is not configured yet.

  Package nginx-light is not installed.

  Package nginx-extras is not installed.

nginx depends on nginx-full (>= 1.14.0-0+bionic0) | nginx-light (>= 1.14.0-0+bionic0) | nginx-extras (>= 1.14.0-0+bionic0); however:

  Package nginx-full is not configured yet.

  Package nginx-light is not installed.

  Package nginx-extras is not installed.


dpkg: error processing package nginx (--configure):

 dependency problems - leaving unconfigured

No apport report written because the error message indicates its a followup 
error from a previous failure.

Errors were encountered while processing:

 nginx-full

 nginx

E: Sub-process /usr/bin/dpkg returned an error code (1)


In Apt.php line 74:

  Apt was unable to install [nginx].  

install [--ignore-selinux]

Выполнение sudo apt-get remove nginx дает мне:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair
  libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream nginx-common nginx-full
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  nginx
0 upgraded, 0 newly installed, 1 to remove and 5 not upgraded.
2 not fully installed or removed.
After this operation, 36.9 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 172681 files and directories currently installed.)
Removing nginx (1.14.0-0+bionic0) ...
Setting up nginx-full (1.14.0-0+bionic0) ...
Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.
invoke-rc.d: initscript nginx, action "start" failed.
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2018-06-09 19:08:44 MST; 9ms ago
     Docs: man:nginx(8)
  Process: 4279 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=1/FAILURE)
  Process: 4278 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)

Jun 09 19:08:43 The-Lappy nginx[4279]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jun 09 19:08:43 The-Lappy nginx[4279]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jun 09 19:08:43 The-Lappy nginx[4279]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jun 09 19:08:43 The-Lappy nginx[4279]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jun 09 19:08:44 The-Lappy nginx[4279]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jun 09 19:08:44 The-Lappy nginx[4279]: nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
Jun 09 19:08:44 The-Lappy nginx[4279]: nginx: [emerg] still could not bind()
Jun 09 19:08:44 The-Lappy systemd[1]: nginx.service: Control process exited, code=exited status=1
Jun 09 19:08:44 The-Lappy systemd[1]: nginx.service: Failed with result 'exit-code'.
Jun 09 19:08:44 The-Lappy systemd[1]: Failed to start A high performance web server and a reverse proxy server.
dpkg: error processing package nginx-full (--configure):
 installed nginx-full package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 nginx-full
E: Sub-process /usr/bin/dpkg returned an error code (1)

ТАКИМ ОБРАЗОМ, похоже, что это было частично установлено и затем не могущее удалить nginx.

Выполнение sudo nginx дает мне:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

Выполнение sudo apachectl start говорит мне процесс, отказавший с кодом ошибки и проверять журналы. /var/log/apache2/error.log содержит:

[Sat Jun 09 17:24:52.483178 2018] [mpm_event:notice] [pid 19739:tid 140694647565248] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Sat Jun 09 17:24:52.483281 2018] [core:notice] [pid 19739:tid 140694647565248] AH00094: Command line: '/usr/sbin/apache2'
[Sat Jun 09 18:39:50.318815 2018] [core:warn] [pid 32508:tid 140277927611328] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Sat Jun 09 18:39:50.319348 2018] [mpm_event:notice] [pid 32508:tid 140277927611328] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Sat Jun 09 18:39:50.319367 2018] [core:notice] [pid 32508:tid 140277927611328] AH00094: Command line: '/usr/sbin/apache2'
[Sat Jun 09 18:40:33.313855 2018] [core:warn] [pid 32625:tid 140576383269824] AH00098: pid file /var/run/apache2/apache2.pid overwritten -- Unclean shutdown of previous Apache run?
[Sat Jun 09 18:40:33.314401 2018] [mpm_event:notice] [pid 32625:tid 140576383269824] AH00489: Apache/2.4.29 (Ubuntu) configured -- resuming normal operations
[Sat Jun 09 18:40:33.314419 2018] [core:notice] [pid 32625:tid 140576383269824] AH00094: Command line: '/usr/sbin/apache2'
[Sat Jun 09 18:41:57.804899 2018] [mpm_event:notice] [pid 32625:tid 140576383269824] AH00491: caught SIGTERM, shutting down

Таким образом, странно, что я не могу запустить Apache. Однако посещение localhost в моем браузере приносит мне к странице человечности apache2 по умолчанию.

Кроме того, уничтожение вообще работает на порте 80 через fuser не справка.

Таким образом, я отчасти озадачен здесь. Может кто-либо помогать уладить это?

Править: Я работал sudo apt-get remove nginx nginx-full и затем выполнил a sudo netstat -ltnp | grep -w ':80' и получил это:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      10008/mysqld        
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2151/nginx: master  
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN      713/systemd-resolve 
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      5957/cupsd          
tcp6       0      0 :::80                   :::*                    LISTEN      2151/nginx: master  
tcp6       0      0 ::1:631                 :::*                    LISTEN      5957/cupsd  
0
задан 10 June 2018 в 16:52

2 ответа

Ubuntu 18.04. Порт 80 используется для другого процесса.

netstat -ltnp | grep -w ':80'

tcp6       0      0 :::80                   :::*                    LISTEN     4114/httpd

В моем случае изодромный с предварением процесс 4114 соответствует программе nextcloud. (Я установил его ошибочно прежде nginx, который является предпосылкой). Затем необходимо изменить порт в nginx конфигурации по умолчанию, если Вы не хотите изменять конфигурацию nexcloud или другого процесса или если Вы не хотите уничтожать его (оба - хорошие альтернативы в любом случае). Отредактируйте файл:

sudo gedit /etc/nginx/sites-enabled/

В начале того файла, после комментариев, Вы найдете две строки:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

Отредактируйте тот файл и поместите 81 вместо 80, если Вы готовы поместить 81 как Ваш порт для nginx. Это редактирование имеет свою законность, даже если apache2 работает в той же системе, и это уже владело тем стандартным портом. Если какой-либо другой процесс занимает порт 80, необходимо остановить его перед установкой других программ как nginx. На Ubuntu 18.04 Вы получаете ошибки зависимости, которые почти невозможно очистить, но причина состоит только в том, что nginx не может использовать стандартный порт 80. Если Вы не хотите удалять процесс, который занимает порт 80 затем, необходимо, по крайней мере, уничтожить его, прежде чем Вы сделаете что-то:

fuser -k -n tcp 80
0
ответ дан 29 October 2019 в 03:50

Я возился с ним некоторое время и затем работал sudo apt-get remove nginx-core nginx-full nginx-light nginx-extras nginx-naxsi nginx-common.

Однако netstat все еще показывал, что nginx все еще работал:

tcp6       0      0 :::80                   :::*                    LISTEN      2151/nginx: master

Таким образом в той точке я перезагрузил свою машину, и когда я выполнил netstat, это просто показало мне, что апач работал и слушал на порте 80. Таким образом, я остановил апача и работал valet install и камердинер установил успешно.

Я не уверен, что завершить здесь за исключением того, что ни при каких обстоятельствах не должен Вы пытаться установить nginx через камердинера, в то время как apache2 работает в фоновом режиме.

Мой единственный остающийся вопрос состоит в том, почему я должен был сделать полную системную перезагрузку для устранения проблемы.

0
ответ дан 29 October 2019 в 03:50

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

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