apache2 не может остановиться и nginx не может запуститься

Я установил apache2 и nginx в качестве веб-сервера.
Я обнаружил, что странно, что логотип apache2 будет по-прежнему отображаться в Firefox при выполнении service apache2 stop, а логотип nginx не может отображаться в Firefox при выполнении service nginx start.
enter image description here

Независимо от того, что вы останавливаете apache2 или запускаете nginx, страница по умолчанию для Debian apache2 всегда будет отображаться в моем firefox.

enter image description here

Файл конфигурации /etc/apache2/sites-available/000-default.conf для apache2 имеет следующий вид:

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

Конфигурационный файл / etc / nginx / sites-available / default для nginx выглядит следующим образом:

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;
    }
}

В моей операционной системе

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

index.html представляет собой apache2 логотип debian, каждый раз при выполнении 127.0.0.1:8080, index.html вызывался независимо от того, apache2 или nginx, отображался логотип debian apache2.
Проблема решена.

1
задан 6 September 2015 в 03:32

2 ответа

Действительно здесь существует два вопроса, таким образом, я попытаюсь ответить на них обоих:

1. Почему Apache и Nginx отображают ту же веб-страницу?

Внимательно изучают Ваши конфигурационные файлы. Вы будете видеть, что они оба загружают то же содержание:

Apache загружается (корень документа): /var/www/html

Nginx загружается, (базируйтесь): /var/www/html;

Это означает, что оба сервера покажут то же содержание, как они загружают тот же файл (файлы). Можно изменить "корневой" каталог, чтобы быть двумя различными местами путем редактирования конфигурационных файлов.

, например, апач:

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

, например, 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;
    }
}

необходимо было бы затем сделать каждый каталог и поместить файл в них:

mkdir /var/www/html/nginx

mkdir /var/www/html/apache

И помещенное содержание в каждую из этих папок. Также стоит проверить, что полномочия каждой папки подходят для веб-сервера получить доступ к ним.

2. Как я проверяю, чтобы видеть, остановился ли Apache, и Nginx запустился

существует простой способ проверить состояние каждого сервиса. Принятие Вы зарегистрированы как корень:

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

можно также использовать команду PS для получения списка процессов:

ps aux | grep -i apache

Это эффективно получает все рабочие процессы и ищет любого с апачами имени.

можно затем запустить nginx и проверить, что он работает:

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

(дополнительно другой способ доказать процесс работает): PS aux | grep-i nginx

, который также возможно видеть, какая программа слушает на который порт:

netstat -ntlp

Это скажет Вам локальный адрес, порт, и обработает название всего прислушивающегося к соединениям на Вашем компьютере. Необходимо видеть в этом списке или nginx или апачское выполнение с портом 8080 (на основе конфигурационных файлов) выставленный.

5
ответ дан 6 September 2015 в 13:32

Вы используете тот же основной путь для веб-файлов (/var/www/html), и именно поэтому то же содержание отображено при использовании nginx или апач.

самый легкий способ знать, кто отвечает на запросы, состоит в том, чтобы рассмотреть заголовки ответа:
curl -I 127.0.0.1
Видят то, что появляется перед Server.

Это может также быть сделано через Network или Networking вкладки в консоли разработчика веб-браузеров, искать значение "Сервера" в заголовках ответа.

0
ответ дан 1 October 2019 в 12:18

Другие вопросы по тегам:

Похожие вопросы: