Проблемы со стримингом nginx+apache2

12 3
W
На сайте с 28.03.2010
Offline
32
2333

Добрый вечер, есть проблема с настройкой стриминга. Стоит енджин-икс и апач, проблема в том что енджин не хочет подхватывать видео (модули flv и mp4 стоят), видео раздается только с помощью апача. Так вот, вопрос такой, как можно заставить енджин отдавать видео? Заранее благодарю за помощь.

Конфиги прилагаются :)

nginx.conf

user www-data;

worker_processes 3;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 5000;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 64;
access_log /var/log/nginx/nginx.access.log;

proxy_buffers 8 16k;
proxy_buffer_size 32k;
sendfile on;
#tcp_nopush on;


#keepalive_timeout 0;
keepalive_timeout 30;
tcp_nodelay on;

gzip on;
gzip_proxied any;
gzip_min_length 1100;
gzip_http_version 1.0;
gzip_buffers 4 8k;
gzip_comp_level 4;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

виртуалхост (енджин-икс)

server {

listen 80;
server_name site.com www.site.com;
access_log /home/site.com/log/nginx_access.log;
error_log /home/site.com/log/nginx_error.log;
location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
root /home/site.com/public_html;
index index.html index.php;
access_log off;
expires 30d;
}
location ~ /\.ht {
deny all;
}

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_set_header Host $host;
proxy_connect_timeout 60;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_redirect off;
proxy_set_header Connection close;
proxy_pass_header Content-Type;
proxy_pass_header Content-Disposition;
proxy_pass_header Content-Length;
}
}

виртуалхост (apache2)

<VirtualHost *:8080>

DocumentRoot /home/site.com/public_html
ServerAdmin admin@site.com
ServerName site.com
ServerAlias www.site.com
ErrorLog /home/site.com/log/apache_error.log
CustomLog /home/site.com/apache_access.log combined
<Directory />
#Order Deny,Allow
#Deny from all
Options -ExecCGI -Indexes -Includes +FollowSymLinks
AllowOverride All
<Limit GET POST>
Order allow,deny
Allow from all
</Limit>
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>

</VirtualHost>

P.S. "Умным" дядям с советами, мол: «Что ты паришся, закажи настройку у сисадмина» прошу сразу проходить мимо!

M
На сайте с 01.12.2009
Offline
235
#1

Ну я бы так и сказал, вам следует обратится за настройками, вы элементарных вещей не можете сделать.

У вас нету локейшена на fly - по воздуху видео не сможет перенестись.

Администратор Linux,Freebsd. построения крупных проектов.
W
На сайте с 28.03.2010
Offline
32
#2

Локейшены я прописывал и на мп4 и на флв всё без толку, я их убрал, по тому что с ними апач раздавать отказывается. Самое интересно что без апача, просто nginx+php-fastcgi стриминг работал очень даже не плохо.

M
На сайте с 01.12.2009
Offline
235
#3
Локейшены я прописывал и на мп4 и на флв всё без толку

Значит что-то вы упускаете.

покажите


nginx -V
W
На сайте с 28.03.2010
Offline
32
#4
Значит что-то вы упускаете

Прописываю по примеру офф сайта, выглядит приблизительно так:

location /video/ {

mp4;
mp4_buffer_size 1m;
mp4_max_buffer_size 5m;
}
nginx -V

nginx: nginx version: nginx/1.0.8

nginx: built by gcc 4.4.3 (Ubuntu 4.4.3-4ubuntu5)
nginx: TLS SNI support enabled
nginx: configure arguments: --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/n ginx.conf --pid-path=/var/run/nginx.pid --user=www-data --group=www-data --with- http_ssl_module --with-http_realip_module --with-http_addition_module --with-htt p_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_stat ic_module --with-mail --with-mail_ssl_module --with-http_mp4_module
M
На сайте с 01.12.2009
Offline
235
#5

Я не вижу модуля fly

W
На сайте с 28.03.2010
Offline
32
#6
--with-http_flv_module

А это разве не оно?

S
На сайте с 19.07.2010
Offline
41
#7

root не указан в локейшинах с mp4 и flv, а глобальный у вас не задан. Пропишите root и все заработает. Вообще логи достаточно было посмотреть

W
На сайте с 28.03.2010
Offline
32
#8
serkl:
root не указан в локейшинах с mp4 и flv, а глобальный у вас не задан. Пропишите root и все заработает. Вообще логи достаточно было посмотреть

Я прописал следующим образом:

location ~* \.(mp4|flv)$ {

root /media/films;
mp4_buffer_size 1m;
mp4_max_buffer_size 5m;
}

И дело сдвинулось с мёртвой точки, теперь мне пишет файл такой-то не найден... Что я неправильно прописал?

S
На сайте с 19.07.2010
Offline
41
#9

вот так правильно: location ~ \.(mp4|flv)$

и смотрите error логи nginx, он покажет к какому файлу пытается обратиться, когда пишет "файл не найден"

W
На сайте с 28.03.2010
Offline
32
#10
serkl:
вот так правильно: location ~ \.(mp4|flv)$

и смотрите error логи nginx, он покажет к какому файлу пытается обратиться, когда пишет "файл не найден"

Когда был прописан в руте /media/films, ошибка была /media/films/media1/films/, я прописал в рут /, теперь в логе ошибки путь правильный, но файл по прежнему не найден :(

11/29 01:27:57 [error] 14856#0: *12 open() "/media/films/Cellular.mp4" failed (2: No such file or directory)

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий