nginx inicia antes do apache

1

Eu tenho atrapalhado através da configuração do redmine em uma caixa unbuntu (12.04) e em algum lugar ao longo da linha NginX foi configurado e agora o apache não carrega mais porque o nginx já pegou a porta. / p>

Eu tentei remover o NginX com o comando abaixo, mas isso não pareceu fazer nenhuma diferença. Quando reiniciei o servidor e apontei para o meu navegador ainda recebi a mensagem "Bem-vindo ao NginX"

sudo apt-get purge nginx

Confirmei que o NginX desapareceu porque, quando executo o acima, obtenho agora uma saída

Package nginx is not installed, so not removed

No entanto, toda vez que eu inicio a máquina, ele está sendo executado novamente. Notei o seguinte para os processos em execução (se isso for útil)

root       923  0.0  0.0  76784  1280 ?        Ss   03:00   0:00 nginx: master process /usr/sbin/nginx
www-data   925  0.0  0.0  77092  1704 ?        S    03:00   0:00 nginx: worker process
www-data   926  0.0  0.1  77092  2204 ?        S    03:00   0:00 nginx: worker process
www-data   927  0.0  0.0  77092  1704 ?        S    03:00   0:00 nginx: worker process
www-data   928  0.0  0.0  77092  1704 ?        S    03:00   0:00 nginx: worker process

Algum conselho para trazer de volta o apache2 como o servidor web "padrão" (por falta de um termo melhor)?

    
por paullb 16.10.2012 / 04:23

4 respostas

6

Depende de como você instalou o nginx.

Se o procedimento que você usou para instalá-lo também instalou scripts rc válidos, então isso funcionará:

sudo update-rc.d nginx disable

Se isso der uma saída que faça sentido, você não terá o problema na reinicialização.

Se um scripit upstart foi usado, verifique dentro de /etc/init/nginx . Você pode ter que alterar uma variável dentro deste arquivo para desativá-lo.

Se for uma instalação de origem e você não souber onde ou como você a instalou, use find ou locate .

Para usar o locate, execute: sudo updatedb

Isso indexará todos os arquivos para uma rápida descoberta

Em seguida, execute: locate nginx

Isto deve dar a você uma perda de arquivos nginx que você deve (cuidadosamente) deletar.

    
por 16.10.2012 / 05:16
3

Eu sugeriria também matar os processos. Talvez o processo de remoção tenha deixado alguns dos processos ainda em execução.

Obviamente, um reboot também deve cuidar disso. Mas se você não quiser reinicializar, precisará eliminá-los manualmente, já que sua remoção removeu o script /etc/init.d/nginx.

Execute isso na sua linha de comando:

kill $(pidof nginx)

Ele elimina todos os processos nginx e deve permitir que você continue inicializando o Apache.

Se isso não funcionar, você precisa determinar o que tem essa porta. Você pode fazer isso com netstat -natp | grep 80 .

Esse comando mostrará uma referência de porta ': 80' em um status 'LISTEN', junto com o processo que tem essa porta aberta. Você então mata esse processo em particular.

    
por 16.10.2012 / 04:44
3

Eu acho que você tem um script de inicialização em algum lugar que está fazendo isso. Considerando o seu Ubuntu 12.04, as chances são de que é um script inicial (caso contrário, é um script de inicialização, mas usamos esses dois dias).

Você pode verificar se há um trabalho iniciante iniciando o ngnix com initctl list . Em caso afirmativo, você encontrará uma tarefa que provavelmente é chamada de ngnix . Você pode pará-lo com o comando stop ngnix e iniciar o apache manualmente.

Vá para /etc/init e procure por um arquivo chamado ngnix.conf (os scripts de inicialização do upstart são jobname.conf ) - renomeie para algo que não termine com conf ou exclua e reinicie.

Se não houver tal arquivo, vá em /etc/init.d para o script que inicia o ngnix.

    
por 16.10.2012 / 05:11
2

Você deve verificar qual pacote nginx você realmente instalou executando:

dpkg -l | grep nginx

No Debian e no Ubuntu, diferentes pacotes nginx contêm um conjunto diferente de módulos, por exemplo, você poderia ter o pacote nginx-extras ou nginx-full instalado, então você precisaria rodar

aptitude purge nginx-full

nginx é um meta pacote simples que instalará nginx-full como dependência, mas não precisa ser instalado em si.

    
por 16.10.2012 / 08:26