Проблеми з установкою 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.

Хтось знає, як це виправити?


1
Чи можете ви додати висновки 'systemctl status nginx.service' та 'journalctl -xn'
0x7c0

# systemctl статус nginx.service є, і journalctl -xn повертає "Журнальних файлів не знайдено."
gnomex

У мене була така ж проблема, оскільки я встановив lighttpd спочатку. Було б чудово, якби nginx надав би краще повідомлення про помилку, хоча @Shutupsquare: для мене цей вихід був марним і не дозволив зробити висновок, що порт вже заблокований ...
Кріс,

Відповіді:


26

Про аналогічну проблему повідомлялося про помилку Debian # 754407 . Врешті-решт, саме порт 80 був прийнятий іншим процесом (Apache2). Чи може це бути і вашим випадком?


Прочитавши помилку, це дійсно повинно вийти з ладу більш граціозно та інформативно. Слід також мати можливість перейти на інший порт, якщо поточний порт використовується. Я думаю, що postgresql робить щось подібне, наприклад.
Faheem Mitha

Помилка була виправлена ​​у версії 1.6.1-2. Тепер все працює чудово
gnomex

@gnomex nope, 1.9.10-1 у Stretch, і мені довелося зупинитись, apache2щоб встановити nginx-full.
berbt

У моєму випадку Varnish використовував порт 80, коли я намагався встановити nginx для 443. Дякую за підказку
NoChecksum

20

Зупиніть apache2

service apache2 stop

потім встановіть nginx

apt-get install nginx

Тоді святкуй!


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 / включеного / за замовчуванням сайтів (я зробив це за допомогою користувача root)
  3. Напевно, я перезавантажив свій сервер.
  4. Просто, щоб бути впевненим двічі, я sudo apt-get updateі тоді sudo apt-get upgrade.
  5. Тепер я нарешті зателефонував, sudo apt-get install nginx-fullі це спрацювало!

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


0

в моєму випадку помилка полягає в тому, що сервер відключив IPv6. просто відредагуйте файли конфігурації nginx, щоб виправити (наприклад: / etc / nginx / sites-enable / default) та перезавантажте демон nginx.


0

У мене була така ж проблема. Поради щодо Apache не були актуальними, оскільки я активно видаляв її під час налаштування.

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

Зокрема, сервісний скрипт запускав nginx з деякими параметрами, включаючи 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 Б додаткового місця на диску. Ви хочете продовжити? [Y / n] y Налаштування nginx-full (1.6.2-5 + deb8u4) ... Помилка роботи для nginx.service. Докладніше див. "Systemctl status nginx.service" та "journalctl -xn". invoke-rc.d: initscript nginx, помилка дії "start". 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; 1min 33s тому
Процес: 19912 ExecStartPre = / usr / sbin / nginx -t -q -g демон на; master_process увімкнено; (код = вийшов, статус = 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.