LINUX.ORG.RU

Nginx не получается запустить модуль RTMP

 


0

2

Требуется проигрывание видосов с сервера (Ubuntu 16 LTS), стоит связка nginx 1.10.3 и апач. Веб сервак настроенн, все работает ок. Теперь пересобираю nginx с нужными мне модулями:

Nginx 1.10.3 собран со всеми стандартными модулями, плюс добавил модули: RTMP, Progress upload, FLV, MP4.

./configure --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro 

-Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --

pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-

path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --

with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module 

--with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads --with-http_mp4_module --with-

http_flv_module --add-module=/home/odmin/nginx-rtmp-module-master --add-module=/home/odmin/nginx-upload-progress-module-master

В конфиге nginx.conf добавил:

rtmp {
    server {
        application vidbase {
            play /var/www/;
        }
    }
}

Однако при старте выдает ошибку, ругается на вставленный в конфиг код: RTMP root@VIDEOPNZ:~# service nginx start Job for nginx.service failed because the control process exited with error code. See «systemctl status nginx.service» and «journalctl -xe» for details.

(Вот этот код)

root@VIDEOPNZ:~# systemctl status nginx.service journalctl
? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Пт 2019-03-29 12:39:11 MSK; 58s ago
  Process: 28335 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 28236 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 29430 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 28238 (code=exited, status=0/SUCCESS)

мар 29 12:39:11 VIDEOPNZ systemd[1]: Starting A high performance web server and a reverse proxy server...
мар 29 12:39:11 VIDEOPNZ nginx[29430]: nginx: [emerg] unknown directive "rtmp" in /etc/nginx/nginx.conf:10
мар 29 12:39:11 VIDEOPNZ nginx[29430]: nginx: configuration file /etc/nginx/nginx.conf test failed
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Control process exited, code=exited status=1
мар 29 12:39:11 VIDEOPNZ systemd[1]: Failed to start A high performance web server and a reverse proxy server.
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Unit entered failed state.
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Failed with result 'exit-code'.

? journalctl.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

При этом сам nginx собрался (make, make install) без ошибок совершенно. В чем может быть проблема? Я уже сдаюсь, прошу помощи знающих людей.

Ответ на: комментарий от Deleted
root@VIDEOPNZ:~# systemctl status nginx.service journalctl
? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Пт 2019-03-29 12:39:11 MSK; 58s ago
  Process: 28335 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 28236 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 29430 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 28238 (code=exited, status=0/SUCCESS)

мар 29 12:39:11 VIDEOPNZ systemd[1]: Starting A high performance web server and a reverse proxy server...
мар 29 12:39:11 VIDEOPNZ nginx[29430]: nginx: [emerg] unknown directive "rtmp" in /etc/nginx/nginx.conf:10
мар 29 12:39:11 VIDEOPNZ nginx[29430]: nginx: configuration file /etc/nginx/nginx.conf test failed
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Control process exited, code=exited status=1
мар 29 12:39:11 VIDEOPNZ systemd[1]: Failed to start A high performance web server and a reverse proxy server.
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Unit entered failed state.
мар 29 12:39:11 VIDEOPNZ systemd[1]: nginx.service: Failed with result 'exit-code'.

? journalctl.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
Shouldercannon ()
Ответ на: комментарий от Deleted
root@VIDEOPNZ:~# nginx -V
nginx version: nginx/1.10.3 (Ubuntu)
built with OpenSSL 1.0.2g  1 Mar 2016
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-stream --with-stream_ssl_module --with-mail --with-mail_ssl_module --with-threads

Оу, смотрел nginx -V в скомиленном nginx'e там все модули ок. А тут в действующем получается модулей нет совершенно. Эм, получается он не обновился?

Я так то первый раз с ним работаю, может чего не понимаю?

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

Сделал все как по вашей ссылке, даже версию ту же поставил. Итог вот. Теперь ошибка другая, но все так же из за RTMP, код в nginx.conf вставил то тже rtmp как и писал выше.

root@VIDEOPNZ:~# nginx -V
nginx version: nginx/1.13.1 (Ubuntu)
built by gcc 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11)
built with OpenSSL 1.1.1b  26 Feb 2019
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=www-data --group=www-data --build=Ubuntu --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-openssl-opt=enable-ec_nistp_64_gcc_128 --with-openssl-opt=no-nextprotoneg --with-openssl-opt=no-weak-ssl-ciphers --with-openssl-opt=no-ssl3 --with-pcre-jit --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_realip_module --with-http_slice_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_v2_module --with-http_secure_link_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-http_mp4_module --with-http_flv_module --with-debug --with-cc-opt='-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --add-module=/home/odmin/nginx-rtmp-module-master --add-module=/home/odmin/nginx-upload-progress-module-master
root@VIDEOPNZ:~# nano /etc/nginx/nginx.conf
root@VIDEOPNZ:~# service nginx stop
root@VIDEOPNZ:~# service nginx start
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
root@VIDEOPNZ:~# systemctl status nginx.service
? nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/etc/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Пт 2019-03-29 17:13:25 MSK; 17s ago
  Process: 1577 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 1281 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 1610 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 1288 (code=exited, status=0/SUCCESS)

мар 29 17:13:25 VIDEOPNZ systemd[1]: Starting A high performance web server and a reverse proxy server...
мар 29 17:13:25 VIDEOPNZ nginx[1610]: nginx: [emerg] "rtmp" directive is not allowed here in /etc/nginx/nginx.conf:80
мар 29 17:13:25 VIDEOPNZ nginx[1610]: nginx: configuration file /etc/nginx/nginx.conf test failed
мар 29 17:13:25 VIDEOPNZ systemd[1]: nginx.service: Control process exited, code=exited status=1
мар 29 17:13:25 VIDEOPNZ systemd[1]: Failed to start A high performance web server and a reverse proxy server.
мар 29 17:13:25 VIDEOPNZ systemd[1]: nginx.service: Unit entered failed state.
мар 29 17:13:25 VIDEOPNZ systemd[1]: nginx.service: Failed with result 'exit-code'.

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

Ещё поискал и нашёл то, что нужно. Проблему решил, спс.

Так поступать невежливо, вдруг кто-то еще столкнется с такой же проблемой.

Нетрудно ведь оставить заметку, в чем заключалась проблема.

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

Да я создал 2 каталога: sites-enabled и sites-available, затем сделал симлинк на sites-available. Прописал include /etc/nginx/sites-enabled/*; Перезапустил nginx и толку нет.

Мне нужно восстановить до этого сделанную связку nginx + apache. А именно раньше был файл /etc/nginx/sites-available/default и рядом в /etc/nginx/sites-available/ я создавал файл с адресом сайта /etc/nginx/sites-available/192.168.241.131

В /etc/nginx/sites-available/default было вот так:

server {
	listen 80;
	listen [::]:80;

	server_name www.192.168.241.131;
	return 301 http://192.168.241.131$request_uri;
}

А в файле /etc/nginx/sites-available/192.168.241.131 было:

server {
	listen 80;
	listen [::]:80;

	root /var/www/192.168.241.131;

	index index.php index.html index.htm;

	server_name 192.168.241.131 www.192.168.241.131;

	location / {
		proxy_pass http://127.0.0.1:8080;
		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_set_header X-Forwarded-Proto $scheme;
		proxy_pass_header Set-Cookie;
	}

	location ~ /\.ht {
		deny all;
	}

	location ~* \.(ico|docx|doc|xls|xlsx|rar|zip|jpg|jpeg|txt|xml|pdf|gif|png|css|js|html)$ {
		root   /var/www/192.168.241.131;
	}

	location ~* (?:/phpmyadmin/).+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2)$ {
	root /usr/share/;
	index index.html index.php;
	expires 30d;
	}

	add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
	add_header Content-Security-Policy "block-all-mixed-content";
	add_header X-Frame-Options "SAMEORIGIN";
	add_header X-XSS-Protection "1; mode=block";
	add_header X-Content-Type-Options "nosniff";

	resolver 8.8.8.8;
}

Теперь я не понимаю как все это вернуть на этой версии nginx'a. Сделал как вы написи выше, не помогло, не работает 192.168.241.131.

У меня полчается cтатические данные (файлы) отдает Nginx, а динамикой занимается Apache.

Shouldercannon ()