Erro de instalação do Nginx no Ubuntu 16.04


58
: ~ $ sudo apt-get remove nginx * && sudo apt-get install nginx-full *

Lendo listas de pacotes ... Concluído
Construindo árvore de dependência       
Lendo informações do estado ... Concluído

Após esta operação, 5.579 kB de espaço em disco adicional serão usados.
Você quer continuar? [S / n] y
Get: 1 http://in.archive.ubuntu.com/ubuntu xenial-updates / universe amd64 nginx-full-dbg amd64 1.10.0-0ubuntu0.16.04.1 [3.789 kB]
Obtida 3.789 kB em 33s (112 kB / s)                                             
Selecionando o pacote não selecionado anteriormente nginx-common.
(Lendo arquivos e diretórios do banco de dados ... 189767 atualmente instalados.)
Preparando para descompactar ... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
Descompactando nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Selecionando o pacote anteriormente não selecionado nginx-full.
Preparando para descompactar ... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Descompactando nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Selecionando o pacote anteriormente não selecionado nginx-full-dbg.
Preparando para descompactar ... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Descompactando nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ...
Processando gatilhos para ufw (0.35-0ubuntu1) ...
Regras atualizadas para o perfil 'Apache Full'
Regras atualizadas para o perfil 'Nginx HTTP'

Processando gatilhos para systemd (229-4ubuntu4) ...
Processando gatilhos para ureadahead (0.100.0-19) ...
Processando gatilhos para man-db (2.7.5-1) ...
Configurando o nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Configurando o nginx-full (1.10.0-0ubuntu0.16.04.1) ...
A tarefa do nginx.service falhou porque o processo de controle saiu com o código de erro. Consulte "systemctl status nginx.service" e "journalctl -xe" para obter detalhes.

invoke-rc.d: nginx initscript, ação "iniciar" falhou.

dpkg: erro ao processar o pacote nginx-full (--configure):
 O script de pós-instalação instalado pelo subprocesso retornou o status de saída de erro 1
dpkg: problemas de dependência impedem a configuração do nginx-full-dbg:
 O nginx-full-dbg depende do nginx-full (= 1.10.0-0ubuntu0.16.04.1); Contudo:
  O pacote nginx-full ainda não está configurado.

dpkg: erro ao processar o pacote nginx-full-dbg (--configure):

 problemas de dependência - deixando desconfigurado
Nenhum relatório de apport gravado porque a mensagem de erro indica um erro de acompanhamento de uma falha anterior.

                          Foram encontrados erros durante o processamento:
 nginx-full

 nginx-full-dbg

E: O subprocesso / usr / bin / dpkg retornou um código de erro (1)

Experimente apt-get -f installsem qualquer pacote
Motte001

ja verifiquei, mesmo erro !! Por favor, observe:: ~ $ sudo apt-get -f install nginx-full-dbg depende do nginx-full (= 1.10.0-0ubuntu0.16.04.1); no entanto: o pacote nginx-full ainda não está configurado. dpkg: pacote de processamento de erros nginx-full-dbg (--configure): problemas de dependência - deixando desconfigurados Foram encontrados erros durante o processamento: nginx-full nginx-full-dbg E: Subprocesso / usr / bin / dpkg retornou um código de erro (1)
Mohit 28/04

11
Você possui o Apache instalado e em execução na porta 80 antes de instalar o nginx? Editar a sua pergunta para incluir a saída do systemctl -l status nginxbem
Thomas Ward

Você também tinha uma versão diferente do nginx? Vejo que você executou uma tarefa de remoção, mas se as configurações mais antigas ainda estiverem disponíveis, elas podem interromper a instalação se tiverem comandos obsoletos ou inlcuídos semelhantes.
Thomas Ward

See "systemctl status nginx.service" and "journalctl -xe" for details.- Você pode fazer isso e incluir a saída na sua pergunta?
David Foerster

Respostas:


140

Desligar o apache2 primeiro antes de instalar o nginx deve corrigir este problema:

sudo service apache2 stop

3
Bem-vindo ao Ask Ubuntu! Eu recomendo editar esta resposta para expandi-la com detalhes específicos sobre como fazer isso. (Veja também Como faço para escrever uma boa resposta? Para o conselho geral sobre que tipos de respostas são consideradas mais valiosas no Pergunte Ubuntu.)
David Foerster

Isso me deu a dica que eu precisava. No meu caso eu estava usando um recipiente janela de encaixe que executar outro servidor nginx
mithril_knight

Eu bati na mesma coisa, mas encontrando o culpado netstat -tulpn | grep :80, no meu caso, era o Varnish configurado para escutar na porta 80. Em systemctl stop varnishseguida, instalando o Nginx, o corrigi para mim. Por que os pacotes Debian / Ubuntu tentam iniciar-se na instalação estão além de mim ... Prefiro instalar, configurá-lo como eu gosto e depois iniciá-lo: P
geerlingguy

É estranho que o NGINX não verifique isso no instalador e, pelo menos, forneça uma mensagem mais útil. O Apache é geralmente instalado em sistemas Linux.
machineghost

28

Andrew Chan forneceu a resposta certa para mim. Para estender um pouco sua resposta, veja o que você pode fazer na linha de comando;

pare apache2

sudo systemctl stop apache2.service

impedir que o apache2 inicie na inicialização

sudo systemctl disable apache2.service

Reinstale o nginx

sudo apt-get install nginx


11
Eu sugiro que você não desative o Apache2 na inicialização, se necessário - há muitos casos em que você não precisa desabilitar o Apache se você configurá-lo para escutar em outra porta. Tendo feito isso mesmo, para algumas configurações, posso falar de alguma experiência (Eu também faço um monte de trabalho no pacote nginx, que é onde esta experiência vem)
Thomas Ward

7

Acabei de ter esse problema, mas a solução era um pouco diferente.

Depois que resolvi uma configuração incorreta simples do site, consegui atualizar o nginx.

Verifique seu log de erro do nginx :

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

Em seguida, tente novamente:

sudo apt-get update;sudo apt-get upgrade

toras FTW, no meu caso a porta 80 já estava em uso que foi a causa de erro
xliiv

6

No meu caso, o erro é que o servidor tem o IPv6 desativado. Solução:

Edite /etc/nginx/sites-enabled/defaulte comente o IPv6:

listen [::]:80 default_server;

Reinstale o nginx:

apt purge nginx
apt autoremove
apt install nginx

@DavidFoerster Com apt 1.0, um novo binário foi introduzido que recolhe muitos dos comandos familiares (sub) que foram distribuídos entre apt-get, apt-cachee assim por diante. Por exemplo, apt updateigual apt-get update, apt search some-nameigual apt-cache search some-namee assim por diante. Em alguns casos, houve algumas reformulações, como apt full-upgradeiguais apt-get dist-upgrade. Os binários antigos e seus comandos ainda estão disponíveis para quem gosta deles.
Henning Kockerbeck 27/10

@ HenningKockerbeck: Obrigado. Eu realmente não sabia naquela época e pensei que era um erro de digitação, mas me educei nesse meio tempo.
David Foerster

Trabalhou para mim, mas eu não posso implementar isso em meus scripts shell para implantação do servidor, que é ridiculamente rotunda ...
Menashe

1

Quando verifiquei /var/log/nginx/error.log, vi que o instalador não pôde abrir / var / cache / nginx / microcache

Uma lista de diretórios mostrou que não havia diretório / var / cache / nginx, então eu o criei e a instalação foi bem-sucedida.


1

No meu caso, foi um arquivo mal configurado em / etc / nginx / sites-enabled / os nomeei como arquivos .old, mas isso não importa. Eles serão lidos e podem prever uma instalação ou início bem-sucedido desse serviço. Tenha cuidado com os arquivos dessa pasta e leia sua saída de erro com cuidado, conforme descrito por @Taiger


0

Antes da instalação, remova quaisquer links simbólicos adicionados manualmente /sites-enabled.


0

No meu caso, nada ajudou, exceto:

sudo fuser -k 80/tcp

service nginx start
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.