Проблемы с установкой nginx-full на debian 8

23

У меня есть некоторые проблемы, чтобы установить nginx pkg (nginx-full) на Debian Jessie

# apt-get install nginx-full
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  nginx-common
Suggested packages:
  fcgiwrap nginx-doc
The following NEW packages will be installed:
  nginx-common nginx-full
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 510 kB of archives.
After this operation, 1.271 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-common all 1.6.1-1 [83,6 kB]
Get:2 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-full amd64 1.6.1-1+b1 [427 kB]
Fetched 510 kB in 1s (266 kB/s)     
Selecting previously unselected package nginx-common.
(Reading database ... 170540 files and directories currently installed.)
Preparing to unpack .../nginx-common_1.6.1-1_all.deb ...
Unpacking nginx-common (1.6.1-1) ...
Selecting previously unselected package nginx-full.
Preparing to unpack .../nginx-full_1.6.1-1+b1_amd64.deb ...
Unpacking nginx-full (1.6.1-1+b1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up nginx-common (1.6.1-1) ...
Setting up nginx-full (1.6.1-1+b1) ...
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-full (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 nginx-full
E: Sub-process /usr/bin/dpkg returned an error code (1)

# systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sex 2014-09-05 11:39:46 BRT; 1s ago
  Process: 2972 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

#journalctl -xn
No journal files were found.

Кто-то знает, как это исправить?

gnomex
источник
1
Можете ли вы добавить вывод 'systemctl status nginx.service' и 'journalctl -xn'
0x7c0
# systemctl status nginx.service находится там, а journalctl -xn возвращает «Файлы журнала не найдены».
gnomex,
У меня была такая же проблема, так как я сначала установил lighttpd. Было бы замечательно, если бы nginx предоставил более качественное сообщение об ошибке, хотя @Shutupsquare: для меня этот вывод был бесполезен и не позволил сделать вывод, что порт уже заблокирован ...
Крис,

Ответы:

26

О подобной проблеме сообщалось об ошибке Debian # 754407 . В конце концов это был просто порт 80, занятый другим процессом (Apache2). Может ли это быть твоим случаем?

Gheesh
источник
Прочитав ошибку, это действительно должно сработать более изящно и информативно. Также должно быть возможно переключиться на другой порт, если текущий порт используется. Я думаю, что postgresql делает что-то подобное, например.
Фахим Митха
Ошибка была исправлена ​​в версии 1.6.1-2. Теперь все работает отлично
gnomex,
@gnomex Нет, 1.9.10-1 в Stretch, и мне пришлось прекратить apache2установку nginx-full.
berbt
В моем случае Varnish использовал порт 80, когда я пытался установить nginx для 443. Спасибо за совет
NoChecksum
20

Остановите apache2

service apache2 stop

затем установите nginx

apt-get install nginx

Тогда отпразднуйте это!

Kapanet
источник
9

в моем случае я казнил

sudo apt-get remove nginx* --purge после этого я установил nginx-common

sudo apt-get install nginx-common

тогда я установил nginx

sudo apt-get install nginx

после этого я набрал в браузере ip и все заработало

шахаб камали
источник
1

У меня такая же проблема. У меня нет Apache, и ничто другое не блокировало мой порт 80. Я не мог установить nginx с

sudo apt-get install nginx

ни с

sudo apt-get install nginx-common nginx-full

Через неделю я наткнулся на этот небольшой блог: https://etc.banana.fish/?p=75

В этом блоге решение:

  1. Установите nginx-common: sudo apt-get install nginx-common
  2. Удалить listen [::]:80 default_server;из / etc / nginx / sites-enabled / default (я сделал это с помощью пользователя root)
  3. Просто чтобы быть уверенным, я перезагрузил свой сервер.
  4. Просто чтобы быть уверенным дважды, я сделал sudo apt-get updateи тогда sudo apt-get upgrade.
  5. Теперь я наконец-то позвонил sudo apt-get install nginx-fullи все заработало!

После слов я мог видеть заголовок экрана nginx, когда набирал IP моего удаленного сервера!

ElectRocnic
источник
0

в моем случае ошибка в том, что на сервере отключен IPv6. просто отредактируйте файлы конфигурации nginx для исправления (например: / etc / nginx / sites-enabled / default) и перезапустите nginx demon.

Massimo
источник
0

У меня была такая же проблема. Совет по Apache не был актуален, так как я активно удалял его во время установки.

Оказывается, я видел результат конфликта между файлом конфигурации nginx /etc/nginx/nginx.confи служебным скриптом в /lib/systemd/system/nginx.service.

Specifically, the service script was starting nginx with some options, including daemon on:

$ cat /lib/systemd/system/nginx.service
...
[Service]
...
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
...

Я побежал /usr/sbin/nginx -g 'daemon on; master_process on;'прямо на терминал и получил следующую ошибку:

nginx: [emerg] "daemon" directive is duplicate in /etc/nginx/nginx.conf:1

Я заглянул /etc/nginx/nginx.confи нашел (в строке 1):

daemon off;

Комментирование и запуск sudo apt-get -f installрешили проблему.

Филипп Б. Олдем
источник
0

Я сталкиваюсь с этой проблемой, когда apt-get remove nginxи apt-get automove nginxпосле чего вручную удаляю папку nginx. Когда я apt-get install nginxснова, эта проблема выходит.

~# apt-get install  

nginx Чтение списков пакетов ... Готово Построение дерева зависимостей Чтение информации о состоянии ... Готово nginx уже самая новая версия. 0 обновлено, 0 вновь установлено, 0 для удаления и 140 не обновлено. 2 не полностью установлены или удалены. После этой операции будет использовано 0 B дополнительного дискового пространства. Вы хотите продолжить? [Y / n] y Настройка nginx-full (1.6.2-5 + deb8u4) ... Сбой задания для nginx.service. Смотрите 'systemctl status nginx.service' и 'journalctl -xn' для получения подробной информации. invoke-rc.d: initscript nginx, действие «запуск» не выполнено. dpkg: пакет обработки ошибок nginx-full (--configure): установленный подпроцесс сценарий после установки возвратил состояние выхода из ошибки 1 dpkg: проблемы с зависимостями препятствуют настройке nginx: nginx зависит от nginx-full (> = 1.6.2-5 + deb8u4 ) | nginx-light (> = 1.6. 2-5 + deb8u4) | nginx-extras (> = 1.6.2-5 + deb8u4); тем не мение:
Пакет nginx-full еще не настроен. Пакет nginx-light не установлен. Пакет nginx-extras не установлен. nginx зависит от nginx-full (<< 1.6.2-5 + deb8u4.1 ~) | nginx-light (<< 1.6.2-5 + deb8u4.1 ~) | nginx-extras (<< 1.6.2-5 + deb8u4.1 ~); однако: пакет nginx-full еще не настроен. Пакет nginx-light не установлен.
Пакет nginx-extras не установлен.

dpkg: пакет обработки ошибок nginx (--configure): проблемы с зависимостями - оставление ненастроенным Во время обработки возникли ошибки: nginx-full nginx E: подпроцесс / usr / bin / dpkg вернул код ошибки (1)

а также

~# systemctl status nginx.service  

nginx.service - высокопроизводительный веб-сервер и обратный прокси-сервер. Загружен: загружен (/lib/systemd/system/nginx.service; включен) Активен: не выполнен (Результат: код выхода) с Вт 2017-03-21 04: 35:29 EDT; 1 мин 33 с назад
Процесс: 19912 ExecStartPre = / usr / sbin / nginx -t -q -g демон включен; master_process on; (код = выход, статус = 1 / сбой) Основной PID: 18408 (код = выход, статус = 0 / УСПЕХ)

21 марта 04:35:29 dayinhu nginx [19912]: nginx: [emerg] open () «/etc/nginx/nginx.conf» не удалось (2: нет такого файла или каталога) 21 марта 04:35:29 dayinhu nginx [19912]: nginx: файл конфигурации /etc/nginx/nginx.conf тест не пройден 21 марта 04:35:29 dayinhu systemd [1]: nginx.service: процесс управления завершен, код = состояние выхода = 1 21 марта 04:35 : 29 dayinhu systemd [1]: Не удалось запустить Высокопроизводительный веб-сервер и обратный прокси-сервер. 21 марта 04:35:29 dayinhu systemd [1]: подразделение nginx.service перешло в сбойное состояние.

Говорят, что nginx.conf проиграл, я пытался много раз безуспешно.

Наконец я исправил,

apt-get purge nginx nginx-common nginx-full
apt-get install nginx
Крис Руф
источник
-2
  1. если у вас есть Skype: переключите порт Skype 80для443
  2. остановите службу apache2
  3. установить nginx
  4. перезапустите apache2
  5. apt-get update
m85000
источник