o apache2 não pode parar e o nginx não pode iniciar

1

Eu instalei o apache2 e o nginx como servidor web.
Descobri que é uma coisa estranha que o logotipo do apache2 ainda seja exibido no firefox quando service apache2 stop executado e o logotipo nginx não puder ser exibido no firefox quando service nginx start executado.

Seja o que for que você pare o apache2 ou inicie o nginx, a página padrão do debian do apache2 sempre será exibida no meu firefox.

O arquivo de configuração /etc/apache2/sites-available/000-default.conf do apache2 é como abaixo:

<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

O arquivo de configuração / etc / nginx / sites-available / default do nginx é como abaixo:

server {
    listen       8080;
    server_name  127.0.0.1;
    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
            try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
            root /var/www/html;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

No meu sistema operacional,

ls /var/www/html
index.nginx-debian.html  index.html

O index.html é um logotipo debian da apache2, toda vez que 127.0.0.1:8080 foi executado, index.html foi chamado de apache2 ou nginx, o logotipo debish apache2 foi exibido.
Problema resolvido.

    
por it_is_a_literature 05.09.2015 / 15:28

1 resposta

5

Realmente há duas perguntas aqui, então vou tentar responder a elas:

1. Por que o Apache e o Nginx exibem a mesma página da Web?

Veja de perto seus arquivos de configuração. Você verá que ambos carregam o mesmo conteúdo:

O Apache está carregando (raiz do documento): / var / www / html

O Nginx está carregando (raiz): / var / www / html;

Isso significa que os dois servidores mostrarão o mesmo conteúdo, já que estão carregando o (s) mesmo (s) arquivo (s). Você pode alterar seu diretório "raiz" para dois locais diferentes editando seus arquivos de configuração.

por exemplo, apache:

<VirtualHost *:8080>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/apache
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

por exemplo, nginx:

server {
    listen       8080;
    server_name  127.0.0.1;
    root /var/www/html/nginx;
    index index.php index.html index.htm index.nginx-debian.html;

    location / {
            try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location = /50x.html {
            root /var/www/html/nginx;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
    }
}

Você precisaria fazer cada diretório e colocar um arquivo neles:

mkdir /var/www/html/nginx

mkdir /var/www/html/apache

Coloque o conteúdo em cada uma dessas pastas. Também vale a pena verificar se as permissões de cada pasta são apropriadas para o servidor da web acessá-las.

2. Como faço para verificar se o Apache parou e o Nginx foi iniciado

Existe uma maneira simples de verificar o status de cada serviço. Supondo que você esteja logado como root:

service apache2 stop #Stop apache
service apache2 status #is apache still running?

Você também pode usar o comando ps para obter a lista de processos:

ps aux | grep -i apache

Isso efetivamente obtém todos os processos em execução e procura qualquer um com o nome apache.

Você pode então iniciar o nginx e verificar se ele está sendo executado:

service nginx start #start nginx
service nginx status #is nginx running?

(opcionalmente, outra maneira de provar que o processo está sendo executado):     ps aux | grep -i nginx

Também é possível ver qual programa está escutando em qual porta:

netstat -ntlp

Isso informará o endereço local, a porta e o nome do processo de tudo que estiver aguardando conexões no seu computador. Você deve ver nesta lista o nginx ou o apache sendo executado com a porta 8080 (baseada em seus arquivos de configuração) exposta.

    
por SamR. 05.09.2015 / 18:11