Apache 2.0.x и nginx на одном сервере

Статус
В этой теме нельзя размещать новые ответы.

pigulsky

Гуру форума
Регистрация
10 Сен 2006
Сообщения
106
Реакции
90
Очень интересует этот вопрос.
Хочется чтобы обработка массовых статичных файлов шла через nginx, а все остальное - через апач. Но вот возможно ли сие на одном сервере?

Отдельными это понятно, все просто, а вот как разделить зоны доступа для апача и nginx, чтобы они не кофликтовали при доступах к файлам?
 
Не только можно, но и нужно!

Методика такая, запускаешь апач на другом порту, к примеру 83, потом настраиваеш nginx на работу по 80 порту. Вот пример конфига nginx для того, что тебе нада, тоесть все php файлы будут отдаваться на обработку апачу, а вся статика, html,jpg,css итд.. будет отдаваться nginx-ом.

Код:
server {
        listen       80;
        server_name site.com www.site.com;

        location / {
            proxy_pass         http://127.0.0.1:83/;
            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;

            client_max_body_size       10m;
            client_body_buffer_size    128k;

            proxy_connect_timeout      90;
            proxy_send_timeout         90;
            proxy_read_timeout         90;

            proxy_buffer_size          4k;
            proxy_buffers              4 32k;
            proxy_busy_buffers_size    64k;
            proxy_temp_file_write_size 64k;
        }

        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|exe|txt|tar|js)$ {
            root   /var/www/htdocs/site.com;
        }
    }
 
Оу, спасибо :)
Буду пробовать настраивает сие дело )

Добавлено через 6 минут
Для просмотра ссылки Войди или Зарегистрируйся, сразу задам тогда вопрос.

А если на сервере крутится несколько сайтов? Вот вся динамика (и чуток статики) лежит на site.com, а абсолютная часть статики на storage.site.com - можно ли storage обрабатывать nginx не снимая апач с 80 порта?
 
Можно, только надо посадить nginx на свободный ip и перекинуть туда домен.
 
Наздоровье!

Если будут вопросы, пиши в ЛС. помогу настроить. Да и по тюнингу своего сервака смогу дать некоторые советы :)
 
Вот сделал я так как написали. Главня страница грузится нормально, все работает, но IPB генерирует ссылки на порт 83 а не на 80, т.е. получается что nginx работает только на главной странице, дальше все обрабатывает апач. Как все-таки сделать чтобы все полностью пахало через 80й порт на котором nginx?
 
IPB активно используются ip-адреса посетителей, а в случае использования конфигурации приведенной выше, все посетители будут для apache приходить c одного ip-адреса: 127.0.0.1, что не правильно.
вам нужно поставить mod_rpaf для апача.
В конфигурационный файл apache добавляем:
...
LoadModule rpaf_module modules/mod_rpaf-2.0.so
...
## Mod_rpaf settings
RPAFenable On
RPAFproxy_ips 127.0.0.1 realip [realip1]
RPAFsethostname On
В конфигурационный файл nginx в раздел server необходимо добавить:
...
server {
...
# Main location
location / {
...
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...

Добавлено через 34 секунды
ЗЫ вот советую почитать еще
Для просмотра ссылки Войди или Зарегистрируйся
 
На dedic.ru есть пример без смены портов
 
Очень интересует этот вопрос.
Хочется чтобы обработка массовых статичных файлов шла через nginx, а все остальное - через апач. Но вот возможно ли сие на одном сервере?
Отдельными это понятно, все просто, а вот как разделить зоны доступа для апача и nginx, чтобы они не кофликтовали при доступах к файлам?
да и вообще не стоит вешать еще один процесс который отжирает память и т.д. ради того чтобы разогнать апач.
есть куча способов чтобы оптимизировать его работу и работу сайта.
 
вместе они то работают, но nginx может конфиктовать с панелью, у меня при подобной связке глючит plesk 8.1, если я редактирую через него инфу о доменах, он всюду вставляет переназначенные порты апача, и начинаются глюки в доменах, вплоть до потери прав доступа к каталогам и базам из за изменения их владельца :(
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху