ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[2]: Nginx + проигрывание mp3 с сайта



On Mon, 13 Nov 2006, Pavel V. wrote:

Здравствуйте, Andrew.

Вы писали 13 ноября 2006 г., 14:26:16:

On Sun, 12 Nov 2006, Pavel V. wrote:

Здравствуйте, nginx-ru.

             Пытаюсь раздавать mp3 контент с помощью Nginx.
   При прослушивании с помощью апача (Apache-2.0.59/mpm_worker) проигрывание идет 
"ровно".
   При попытке перевести нагрузку на нгинкс (nginx-0.4.0) с помощью 
iptables-DNAT

Опишите, пожалуйста, по-подробнее - как вы разделяете запрос на *.mp3 к
Апачу и запрос к nginx
В вашем *.m3u файле ссылка ведёт куда? на 80-й порт? или на 8080 ?

       Два веб-сервера, апач и nginx висят на портах 8080 и 8081. В
       m3u ссылка на файл на 8080 порт.

А почему ссылку сразу на 8081 не делаете?

       Перевод нагрузки с апача на
       nginx осуществляется добавлением правила

       iptables -t nat -I PREROUTING -p tcp --dport 8080 -j DNAT  
--to-destination my_ip:8081

Насколько я вижу, это правило _весь_ трафик перекинет на порт 8081


Правильно ли я понимаю, что снаружи доступен только порт 8080 ? и недоступен 8081 ?


Однако, весело у вас устроено
- приходящие извне пакеты на порт 8080 перенаправляются на порт 8081
- слушающий там nginx отдаёт статику и остальное проксирует на порт 8080
- iptables не трогает эти пакеты, ибо они идут с localhost
- на порту 8080 слушает Апач - исходящие пакеты проделывают аналогичный непрямой путь, только в
  обратном направлении

Думаю, причина "заиканий" в хаотических задержках, вносимых iptables с включённым NAT.



Я бы сделал так :
- nginx слушает на порту 8080 и
  - отдаёт статику и *.mp3
  - остальное проксирует на порт 8081
- Апач слушает на порту 8081 и отдаёт html и *.m3u

Т.е. "поменял бы портами" Апач и nginx и выбросил бы излишний iptables.

Конфигурация nginx примерно такая:

    server {
        listen       83.172.16.22:8080;
        server_name  hostname.domain;

        location ~* \.(avi|mp3|mov|ogg|gif|jpg|css|js)$ {
            root   /web/hostname/htdocs/music_new;
        }

        location / {
            proxy_pass http://127.0.0.1:8081/;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Host $host;
        }
    }


--
Best regards,
Andrew Kopeyko <kaa@xxxxxxxx>
http://www.zvuki.ru/ sysadmin




 




Copyright © Lexa Software, 1996-2009.