The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Apache->Ngix"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 09:14 
Добрый день
хотел бы попросить у Вас помощи
дело в том, что я хочу выдывать картинки через ngix, а сейчас это все лежит на апаче, который медленно но верно .. умирает под наргрузкой ;)
поэтому решил...отдавать статику через ngix

у меня 70 сайтов.. как можно без болезнено сделать такой переход ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • Apache->Ngix, mephius, 12:28 , 14-Апр-07, (1)  
    • Apache->Ngix, Alexey, 12:40 , 14-Апр-07, (2)  
      • Apache->Ngix, mephius, 12:49 , 14-Апр-07, (3)  
        • Apache->Ngix, Alexey, 14:01 , 14-Апр-07, (4)  
          • Apache->Ngix, Alexey, 14:03 , 14-Апр-07, (5)  
            • Apache->Ngix, mephius, 14:08 , 14-Апр-07, (6)  
              • Apache->Ngix, Alexey, 14:26 , 14-Апр-07, (7)  
                • Apache->Ngix, mephius, 14:31 , 14-Апр-07, (8)  
                  • Apache->Ngix, Alexey, 14:41 , 14-Апр-07, (9)  
                    • Apache->Ngix, mephius, 14:46 , 14-Апр-07, (10)  
                      • Apache->Ngix, Alexey, 14:57 , 14-Апр-07, (11)  
                        • Apache->Ngix, mephius, 18:23 , 14-Апр-07, (12)  
                        • Apache->Ngix, Alexey, 18:42 , 14-Апр-07, (13)  
                        • Apache->Ngix, Alexey, 15:27 , 18-Апр-07, (14)  
                        • Apache->Ngix, mephius, 15:33 , 18-Апр-07, (15)  
                        • Apache->Ngix, Alexey, 15:39 , 18-Апр-07, (16)  
                        • Apache->Ngix, Alexey, 15:43 , 18-Апр-07, (17)  
                        • Apache->Ngix, mephius, 15:47 , 18-Апр-07, (18)  
                        • Apache->Ngix, Alexey, 15:48 , 18-Апр-07, (19)  
                        • Apache->Ngix, mephius, 16:20 , 18-Апр-07, (20)  
                        • Apache->Ngix, Alexey, 16:29 , 18-Апр-07, (21)  
                        • Apache->Ngix, mephius, 16:32 , 18-Апр-07, (22)  
                        • Apache->Ngix, hate, 17:08 , 18-Апр-07, (23)  

Сообщения по теме [Сортировка по времени, UBB]


1. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 12:28 
>Добрый день
>хотел бы попросить у Вас помощи
>дело в том, что я хочу выдывать картинки через ngix, а сейчас
>это все лежит на апаче, который медленно но верно .. умирает
>под наргрузкой ;)
>поэтому решил...отдавать статику через ngix
>
>у меня 70 сайтов.. как можно без болезнено сделать такой переход ?
>

Принимать запросы nginx'ом, статику отдавать прямо им, а динамику проксировать на апач. При таком варианте, перенастраивать все 70 сайтов будет не нужно. Вся информация есть на http://sysoev.ru/nginx/. Если будут нужны пояснения и/или помощь, говорите — поможем.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 12:40 
Огромное спасибо за ответ,
но я так понимаю, что
ngix должен висеть на одном айпы и 80 порту
а apache должен висеть на другом айпы и 80 порту
так что мне придется думаю переписать ДНС или просто апач перенести на другой айпы или внутрении айпы его повесить
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 12:49 
>Огромное спасибо за ответ,
>но я так понимаю, что
>ngix должен висеть на одном айпы и 80 порту
>а apache должен висеть на другом айпы и 80 порту
>так что мне придется думаю переписать ДНС или просто апач перенести на
>другой айпы или внутрении айпы его повесить

Давайте сначала разберемся, как у вас обслуживаются это 70 сайтов.

В качестве примера опишу, как это все работает у меня:

У меня стоят два апача: один 1.3 с подключенным php4 и еще парой особенностей, слушает 127.0.0.1:82, виртуальные хосты Name Based. Аналогичным образом стоит apache 2.2.4 с php5, слушает 127.0.0.1:81

Надо всем этим стоит nginx и слушает 80 порт на всех адресах. В зависимости от хоста, по которому пришел запрос к nginx, он определяет, куда проксировать запрос, на apache 1.3 или apache 2.2.4. Статику отдает сам.

До того, как я построил такую систему, у мен просто стояли отдельно два апача, соответственно на 80 и 81 порту. Это было неудобно по понятным причинам.

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

Итого у меня сейчас порядка 80 сайтов на apache 1.3 и десяток на apache 2.2.4

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 14:01 
сейчас у меня просто один апач 2.0.59 и 70 сайтов на нем
у меня идея такая
взять ngix повесить его на айпы, где сейчас апач хх.хх.ххх.хх на порт 80
апачу повесить 127.0.0.1 порт 80
ngix будет обратывать только jpg, gif, avi, ну и все в этом роде
все остальнео php,cgi будет рулится на апаче
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 14:03 
написал небольшой скрипт, который на основе конфигов виртуальных хостов апачей создал конфиги для nginx.
а можно где нить глянуть его ?! спасибо
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 14:08 
>написал небольшой скрипт, который на основе конфигов виртуальных хостов апачей создал конфиги
>для nginx.
>а можно где нить глянуть его ?! спасибо

у меня все виртуальные хосты апача описывались в отдельных файлах, соответственно, и скрипт ориентирован на работу с этими файлами, особо универсальным я его не делал.

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

P.S. этот скрипт я писал на php

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 14:26 
---------------------- начало ------------------------------------------------------
    user  www www;

    worker_processes  2;

    pid /var/run/nginx.pid;

    #                          [ debug | info | notice | warn | error | crit ]

    error_log  /var/log/nginx.error_log  info;

    events {
        connections   2000;

        # use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
        use kqueue;
    }

    http {

        include       conf/mime.types;
        default_type  application/octet-stream;


        log_format main      '$remote_addr - $remote_user [$time_local] '
                             '"$request" $status $bytes_sent '
                             '"$http_referer" "$http_user_agent" '
                             '"$gzip_ratio"';

        log_format download  '$remote_addr - $remote_user [$time_local] '
                             '"$request" $status $bytes_sent '
                             '"$http_referer" "$http_user_agent" '
                             '"$http_range" "$sent_http_content_range"';

        client_header_timeout  3m;
        client_body_timeout    3m;
        send_timeout           3m;

        client_header_buffer_size    1k;
        large_client_header_buffers  4 4k;

        gzip on;
        gzip_min_length  1100;
        gzip_buffers     4 8k;
        gzip_types       text/plain;

        output_buffers   1 32k;
        postpone_output  1460;

        sendfile         on;
        tcp_nopush       on;
        tcp_nodelay      on;
        send_lowat       12000;

        keepalive_timeout  75 20;

        #lingering_time     30;
        #lingering_timeout  10;
        #reset_timedout_connection  on;


        server {
            listen        vasya.kg;
            server_name   vasya.kg www.vasya.kg

            access_log   /var/log/nginx.access_log  main;

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

                client_body_temp_path      /var/nginx/client_body_temp;

                proxy_connect_timeout      90;
                proxy_send_timeout         90;
                proxy_read_timeout         90;
                proxy_send_lowat           12000;

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

                proxy_temp_path            /var/nginx/proxy_temp;

            }

            error_page  404  /404.html;

            location /404.html {
                root  /spool/www;
            }

            location ~* ^.+\.(jpg|jpeg|gif|avi|wmv)$ {
                root         /hosting/www.vasya.kg;
                access_log   off;
                expires      30d;
            }
        }
    }

------------------- конец ------------------------------------------------------

я так понимаю, что нужно вставлять секцию server {
}
для каждого хоста
к сожалению все настройки хостов хранятся в одном файле
если нужен формат их могу скинуть

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 14:31 

>я так понимаю, что нужно вставлять секцию server {
>}
>для каждого хоста
>к сожалению все настройки хостов хранятся в одном файле
>если нужен формат их могу скинуть

Да, нужно генерить секцию server для каждого вирт хоста. Кстати, я их такжу храню отдельными файлами, так удобнее.

Давайте еще пример апачевского конфига.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 14:41 
# httpd [domain_name] dmn entry BEGIN.
<VirtualHost IP:80>

    #
    #User vu2003
    #Group vu2003
    #

    #
    #SuexecUserGroup vu2003 vu2003
    #

    ServerAdmin     root@zxxxx
    DocumentRoot    /hosting/zxxxx/htdocs

    ServerName      zxxxx
    ServerAlias     www.zxxxx zxxxx zxxxx

    Alias /errors   /hosting/zxxxx/errors/

    ErrorDocument 401 /errors/401/index.php
    ErrorDocument 403 /errors/403/index.php
    ErrorDocument 404 /errors/404/index.php
    ErrorDocument 500 /errors/500/index.php

    # httpd dmn entry cgi support BEGIN.
    ScriptAlias /cgi-bin/ /hosting/zxxxx/cgi-bin/
    <Directory /hosting/zxxxx/cgi-bin>
        AllowOverride None
        #Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
    # httpd dmn entry cgi support END.

    # httpd dmn entry PHP2 support BEGIN.
    php_admin_value open_basedir "/hosting/zxxxx/:/usr/local/php5/lib/php/:/tmp/"


    <Directory /hosting/zxxxx/htdocs>
        # httpd dmn entry PHP support BEGIN.
        # httpd dmn entry PHP support END.
        Options -Indexes Includes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
# httpd [zxxxx] dmn entry END.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 14:46 
ok.
у меня сейчас начинается совещание примерно на час. Вернусь — брошу скрипт.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 14:57 
спасибо
я тоже сейчас попытаюсь сделать чего .. для чтения конфига
спасибо еще раз за помощь

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Apache->Ngix"  
Сообщение от mephius email(ok) on 14-Апр-07, 18:23 
>спасибо
>я тоже сейчас попытаюсь сделать чего .. для чтения конфига
>спасибо еще раз за помощь

сорри, затянулась планерочка...
еще актульно?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Apache->Ngix"  
Сообщение от Alexey email(??) on 14-Апр-07, 18:42 
>сорри, затянулась планерочка...
>еще актульно?

угусь
я тут пока занимался оптимизайцией самого сервера


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Apache->Ngix"  
Сообщение от Alexey email(??) on 18-Апр-07, 15:27 
не получается выставить
REMOTE_ADDR     127.0.0.1
после прокидки через nginx
поставил на apache2 модуль mod_rpaf
выставил все директивы
но не получилось
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Apache->Ngix"  
Сообщение от mephius email(ok) on 18-Апр-07, 15:33 
>не получается выставить
>REMOTE_ADDR  127.0.0.1
>после прокидки через nginx
>поставил на apache2 модуль mod_rpaf
>выставил все директивы
>но не получилось

В смысле у апача все REMOTE_ADDR 127.0.0.1 ?
можно поставить mod_realip и потом в главном конфиге апача написать RealIP fixups, REMOTE_ADDR станут правильными.
Кстати, с конфигами закончили? Я дико извиняюсь, но некогда было скриптом заниматься....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Apache->Ngix"  
Сообщение от Alexey email(??) on 18-Апр-07, 15:39 
да у апача все 127.0.0.1

я поставил
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFsethostname On
RPAFproxy_ips 85.115.198.xx

апача 2.0.59 зараза показывает REMOTE_IP - 127.0.0.1

=(
Да конфига просто сгенерировал относительно базы юзеров
да нет ничего
правильно, шо не сделали за меня ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "Apache->Ngix"  
Сообщение от Alexey email(??) on 18-Апр-07, 15:43 
я делал так
на 85.115.хх.ххх - повесил nginx на 80 порт
он пробрасывает на 127.0.0.1 - где стоит апач 2.0.59
для нгикса настройка есть
proxy_set_header  X-Forwarded-For       $remote_addr;

тоже стоит ..
-( но все равно
кажется REMOTE_ADDR 127.0.0.1 :(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "Apache->Ngix"  
Сообщение от mephius email(ok) on 18-Апр-07, 15:47 
>я делал так
>на 85.115.хх.ххх - повесил nginx на 80 порт
>он пробрасывает на 127.0.0.1 - где стоит апач 2.0.59
>для нгикса настройка есть
>proxy_set_header  X-Forwarded-For       $remote_addr;
>
>тоже стоит ..
>-( но все равно
>кажется REMOTE_ADDR 127.0.0.1 :(

У меня работает так:
у nginx:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

у апача стоит модуль mod_realip + в httpd.conf:
RealIP fixups

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "Apache->Ngix"  
Сообщение от Alexey email(??) on 18-Апр-07, 15:48 
mod_realip
можно на 2.0.59 поставить ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "Apache->Ngix"  
Сообщение от mephius email(ok) on 18-Апр-07, 16:20 
>mod_realip
>можно на 2.0.59 поставить ?

Вот еще статья есть про настройку nginx + apache2 + mod_rpaf:
http://www.nginx.info/index.pl/ru/articles

Посмотрите, может поможет

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "Apache->Ngix"  
Сообщение от Alexey email(??) on 18-Апр-07, 16:29 
ну я и тупой ;)
написано же создайте фалй mod_ бла бла бла ;)
а я все директивые в httpd.conf поставил ;)
сейчас создал все ;) и ура работает ;)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "Apache->Ngix"  
Сообщение от mephius email(ok) on 18-Апр-07, 16:32 
>ну я и тупой ;)
>написано же создайте фалй mod_ бла бла бла ;)
>а я все директивые в httpd.conf поставил ;)
>сейчас создал все ;) и ура работает ;)

:)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "Apache->Ngix"  
Сообщение от hate email on 18-Апр-07, 17:08 
>ну я и тупой ;)
>написано же создайте фалй mod_ бла бла бла ;)
>а я все директивые в httpd.conf поставил ;)
>сейчас создал все ;) и ура работает ;)


Applauses.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру