Ошибка установки 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.