Я установил apache2 и nginx в качестве веб-сервера.
Я обнаружил, что странно, что логотип apache2 будет по-прежнему отображаться в Firefox при выполнении service apache2 stop
, а логотип nginx не может отображаться в Firefox при выполнении service nginx start
.
Независимо от того, что вы останавливаете apache2 или запускаете nginx, страница по умолчанию для Debian apache2 всегда будет отображаться в моем firefox.
Файл конфигурации /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. Почему 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 (на основе конфигурационных файлов) выставленный.
Вы используете тот же основной путь для веб-файлов (/var/www/html
), и именно поэтому то же содержание отображено при использовании nginx или апач.
самый легкий способ знать, кто отвечает на запросы, состоит в том, чтобы рассмотреть заголовки ответа:
curl -I 127.0.0.1
Видят то, что появляется перед Server
.
Это может также быть сделано через Network
или Networking
вкладки в консоли разработчика веб-браузеров, искать значение "Сервера" в заголовках ответа.