Ошибка установки Nginx в Ubuntu 16.04


58
: ~ $ sudo apt-get удалить nginx * && sudo apt-get установить nginx-full *

Чтение списков пакетов ... Готово
Построение дерева зависимостей       
Чтение информации о состоянии ... Готово

После этой операции будет использовано 5579 кБ дополнительного дискового пространства.
Вы хотите продолжить? [Да / Нет] у
Получить: 1 http://in.archive.ubuntu.com/ubuntu xenial-updates / universe amd64 nginx-full-dbg amd64 1.10.0-0ubuntu0.16.04.1 [3789 кБ]
Получено 3789 кБ за 33 с (112 кБ / с)                                             
Выбираем ранее невыбранный пакет nginx-common.
(Чтение базы данных ... 189767 файлов и каталогов, установленных в настоящее время.)
Подготовка к распаковке ... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
Распаковка nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Выбираем ранее невыбранный пакет nginx-full.
Подготовка к распаковке ... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Распаковка nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Выбор ранее невыбранного пакета nginx-full-dbg.
Подготовка к распаковке ... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Распаковка nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ...
Обработка триггеров для ufw (0.35-0ubuntu1) ...
Правила обновлены для профиля 'Apache Full'
Правила обновлены для профиля 'Nginx HTTP'

Обработка триггеров для systemd (229-4ubuntu4) ...
Обработка триггеров для ureadahead (0.100.0-19) ...
Обработка триггеров для man-db (2.7.5-1) ...
Настройка nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Настройка nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Не удалось выполнить задание для nginx.service, поскольку процесс управления завершился с кодом ошибки. Смотрите "systemctl status nginx.service" и "journalctl -xe" для подробностей.

invoke-rc.d: initscript nginx, действие «запуск» не выполнено.

dpkg: пакет обработки ошибок nginx-full (--configure):
 Подпроцесс установлен сценарий после установки возвратил ошибку выхода состояния 1
dpkg: проблемы с зависимостями препятствуют настройке nginx-full-dbg:
 nginx-full-dbg зависит от nginx-full (= 1.10.0-0ubuntu0.16.04.1); тем не мение:
  Пакет nginx-full еще не настроен.

dpkg: пакет обработки ошибок nginx-full-dbg (--configure):

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

                          При обработке возникли ошибки:
 Nginx-полный

 Nginx-полный DBG

E: Подпроцесс / usr / bin / dpkg вернул код ошибки (1)

Попробуйте apt-get -f installбез пакета
Motte001

уже проверил, такая же ошибка !! Посмотрите: ~ $ sudo apt-get -f install nginx-full-dbg зависит от nginx-full (= 1.10.0-0ubuntu0.16.04.1); однако: пакет nginx-full еще не настроен. dpkg: пакет обработки ошибок nginx-full-dbg (--configure): проблемы с зависимостями - оставлено ненастроенным Обнаружены ошибки при обработке: nginx-full nginx-full-dbg E: подпроцесс / usr / bin / dpkg вернул код ошибки (1)
Мохит

1
У вас установлен Apache и он работает на 80-м порту перед установкой nginx? Измените свой вопрос , чтобы включить выход , systemctl -l status nginxа также
Thomas Ward

У вас была установлена ​​другая версия nginx? Я вижу, что вы выполнили задачу удаления, но если старые конфигурации все еще существуют, они могут прервать установку, если они устарели или имеют аналогичные команды
Томас Уорд

See "systemctl status nginx.service" and "journalctl -xe" for details.- Не могли бы вы сделать это и включить вывод в свой вопрос?
Дэвид Фёрстер

Ответы:


140

Выключение apache2 перед установкой nginx должно решить эту проблему:

sudo service apache2 stop

3
Добро пожаловать в Спросите Ubuntu! Я рекомендую отредактировать этот ответ, чтобы расширить его конкретными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? Для общего совета о том, какие ответы считаются наиболее ценными в Ask Ubuntu.)
Дэвид Фёрстер,

Это дало мне подсказку, в которой я нуждался. В моем случае я использовал докер-контейнер, который запускает другой сервер nginx
mithril_knight,

Я натолкнулся на то же самое, но нашел виновника netstat -tulpn | grep :80, в моем случае это был Varnish, настроенный на прослушивание через порт 80. systemctl stop varnishЗатем установка Nginx исправила это для меня. Почему пакеты Debian / Ubuntu пытаются запускаться при установке, мне не
понятно

Странно, что NGINX не проверяет это в установщике и, по крайней мере, предоставляет более полезное сообщение. Apache очень часто устанавливается в системах Linux.
Machineghost

28

Эндрю Чан предоставил мне правильный ответ. Чтобы немного расширить его ответ, вот что вы можете сделать в командной строке;

остановите apache2

sudo systemctl stop apache2.service

запретить запуск apache2 при загрузке

sudo systemctl disable apache2.service

Переустановите nginx

sudo apt-get install nginx


1
Я бы посоветовал вам не отключать Apache2 при загрузке, если вам это нужно - во многих случаях вам не нужно отключать Apache, если вы в конечном итоге настраиваете его для прослушивания на другом порту. Сделав это сам для некоторых установок, я могу говорить по своему опыту (я также много работаю в пакете nginx, откуда и происходит этот опыт)
Томас Уорд

7

У меня просто была эта проблема, но решение было немного другим.

Как только я решил простую неверную конфигурацию сайта, я смог обновить nginx.

Проверьте ваш журнал ошибок nginx :

sudo cat /var/log/nginx/error.log|less

Тогда попробуйте еще раз:

sudo apt-get update;sudo apt-get upgrade

Журналы FTW, в моем случае порт 80 уже использовался, что стало причиной ошибки
xliiv

6

В моем случае ошибка в том, что на сервере отключен IPv6. Решение:

Редактируйте /etc/nginx/sites-enabled/defaultи комментируйте IPv6:

listen [::]:80 default_server;

Переустановите nginx:

apt purge nginx
apt autoremove
apt install nginx

@DavidFoerster С apt 1.0 был представлен новый двоичный файл, который собирает многие из знакомых (под) команд, которые были распределены между apt-get, apt-cacheи так далее. Например, apt updateравно apt-get update, apt search some-nameравно apt-cache search some-nameи так далее. В некоторых случаях была некоторая переформулировка, например, apt full-upgradeэто равнозначно apt-get dist-upgrade. Старые двоичные файлы и их команды все еще доступны для тех, кто их любит.
Хеннинг Кокербек

@HenningKockerbeck: Спасибо. Я действительно не знал тогда и думал, что это была опечатка, но я учил себя в то же время.
Дэвид Фёрстер,

Работал для меня, но я не могу реализовать это в моих сценариях оболочки для развертывания сервера, это смешно окольными ...
Менаше

1

Когда я проверил /var/log/nginx/error.log, я увидел, что установщик не смог открыть / var / cache / nginx / microcache

Список каталогов показал, что каталога / var / cache / nginx не было, поэтому я создал его, и установка прошла успешно.


1

В моем случае это был неправильно сконфигурированный файл в / etc / nginx / sites-enabled / Я назвал их как .old файлы, но это не имеет значения. Они будут прочитаны и могут предотвратить успешную установку или запуск этой службы. Будьте осторожны с файлами в этой папке и внимательно прочитайте вывод ошибок, описанный @Taiger.


0

Перед установкой удалите все добавленные вручную ссылки /sites-enabled.


0

В моем случае ничего не помогло, кроме этого:

sudo fuser -k 80/tcp

service nginx start
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.