LINUX.ORG.RU

Apache+Nginx как это работает?


0

2

Всем привет, ситуация такая: передо мной стояла задача поднять веб сервер apache+nginx+mysql+php на CentOS7, мне доводилось поднимать LEMP (т.е. без apache) и глупых вопросов у меня в голове в тот момент рождалось меньше, а в ходе нынешней задачи я столкнулся с такой ситуацией, что я поставил apache, nginx, mysql, php, закинул joomla в каталог с тестовым сайтом, проверил, что каждая из установленных служб работает, joomla установилась нормально. Чего я именно не понял (скажу сразу, некоторых базовых знаний у меня не хватает): я иду по ip адресу своего тестового сайта, по 80 порту мне отвечает nginx своим типичным «welcome to nginx» когда прописываю порт 8080 (на нём слушает apache) то вижу то что хотел, а именно страничку joomla, я долго думал, почему nginx отказывается выдать мне то же самое, хотя proxy_pass прописан, потом я чисто прописал у себя на пк в /etc/hosts адрес своего сайта и его хостнейм, зашёл по хостнейм без указания портов и получил, что хотел (страничку joomla), какого хрена! почему это не работает, если просто указать ip адрес? вот мой конфиг:

server { listen 80; server_name test.site http://www.test.site; set $root_path /website/test.site/www;

access_log /website/test.site/logs/nginx_access.log; error_log /website/test.site/logs/nginx_error.log;

location / { proxy_pass http://127.0.0.1:8080/; proxy_read_timeout 300s; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_buffering off; }

location ~* \.(css|js|png|gif|jpg|jpeg|ico)$ { root $root_path; expires 1d; }

error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Потому что server_name test.site. В дефолтной конфигурации nginx есть еще один блок server для дефолтного сервернейма, который показывает ту стандартную страничку. Соответственно когда заходите по деменному имени попадаете в нужный блок и видите джумлу, по айпишнику - в дефолтный со страничкой приветствия.

micronekodesu ★★★
()
Ответ на: комментарий от Jopich1

а ты аватаррку на гитхабе взял? по размерам подходит

Deleted
()
Ответ на: комментарий от Jopich1

nginx позволяет уменьшить нагрузку, отвечая на 80 порту, в то время как апач работает на 8080 непосредственно с php

d_evgenich
() автор топика
Ответ на: комментарий от Jopich1

Скорее наоборот, зачем нужен апач когда есть нжинкс.

entefeed ☆☆☆
()
Ответ на: комментарий от tiandrey

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

d_evgenich
() автор топика
Ответ на: комментарий от micronekodesu

Спасибо за подсказку, в итоге я решил проблему так, что закоментил блок server в nginx.conf и в блоке server в конфиге самого сайта написал listen 80 default_server;

d_evgenich
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.