Difference between revisions of "Nginx"
Tag: visualeditor |
Tag: visualeditor |
||
Line 61: | Line 61: | ||
... | ... | ||
} | } | ||
+ | |||
+ | == RTMP == | ||
+ | Nginx rtmp modul fungerar utmärkt om man vill kunna streama något till 2 platser samtidigt tex till Twitch och Hitbox utan att behöva ha igång 2 instanser av tex OBS/Xsplit. | ||
+ | |||
+ | För att få in RTMP modulen så måste man compilera nginx från början. | ||
+ | |||
+ | apt-get update && apt-get install build-essential libpcre3 libpcre3-dev libssl-dev | ||
+ | Hämta hem senaste versionen av nginx och rtmp modulen. | ||
+ | wget http://nginx.org/download/nginx-1.7.9.tar.gz | ||
+ | |||
+ | wget https://github.com/arut/nginx-rtmp-module/archive/master.zip | ||
+ | Packa upp filerna | ||
+ | tar -zxvf nginx-1.7.9.tar.gz | ||
+ | |||
+ | unzip master.zip | ||
+ | |||
+ | cd nginx-1.7.9 | ||
+ | Lägg sedan till rtmp modulen i nginx. | ||
+ | ./configure --add-module=../nginx-rtmp-module-master | ||
+ | |||
+ | make | ||
+ | |||
+ | make install | ||
+ | Om du inte fått några error så är nginx med rtmp modulen installerade. | ||
+ | |||
+ | Ändra och lägg till följande rader i din conf fil. <code>/usr/local/nginx/conf/nginx.conf</code> | ||
+ | rtmp { | ||
+ | server { | ||
+ | listen 1935; | ||
+ | chunk_size 8192; | ||
+ | |||
+ | application stream { | ||
+ | live on; | ||
+ | meta copy; | ||
+ | push rtmp://live-ams.twitch.tv/app/live_XYZ_ZXY; | ||
+ | push rtmp://live.hitbox.tv/push/username?key=XYZ; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | För att starta nginx server skriv | ||
+ | /usr/local/nginx/sbin/nginx | ||
+ | För att stoppa nginx servern. | ||
+ | /usr/local/nginx/sbin/nginx | ||
+ | |||
+ | Ställ in din klient att streama mot rtmp://<ip>/stream |
Revision as of 13:32, 18 January 2015
nginx är en lättviktig webbserver och proxy.
Installation
sudo add-apt-repository ppa:nginx/stable && sudo apt-get update && sudo apt-get install nginx
Contents
Tips n Trix
Innan en reload/restart av nginx kör följande kommando för att testa om det är en giltig konfiguration:
/etc/init.d/nginx configtest
Alternativt lägg till en alias för detta:
alias configtest='/etc/init.d/nginx configtest'
Reverse Proxy
Nginx fungerar utmärkt som en reverse proxy för webbtrafik.
Exempel
server { listen 80; server_name sub.domän.se; location / { proxy_pass http://10.0.0.10:3000; include /etc/nginx/proxy_params; } }
HTTPS
Konfigurationsexempel med säkerhet i fokus
server { listen 443 ssl; server_name secure.domän.se; add_header Strict-Transport-Security max-age=15768000; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; ssl_certificate /path/to/cert.crt; ssl_certificate_key /path/to/key.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!DSS:!RC4'; ssl_prefer_server_ciphers on; ssl_dhparam /path/to/dhparam.pem; ... }
Redirect HTTP till HTTPS
server { listen 80; server_name domän.se; # 301 = permanent redirect, 302 = temporary redirect return 301 https://domän.se$request_uri; }
Redirect HTTP till HTTPS, ej standardport
Nginx har en egen HTTP-statuskod för detta.
server { listen 1234 ssl; server_name sub.domän.se; ... error_page 497 https://$host:1234$request_uri; ... }
RTMP
Nginx rtmp modul fungerar utmärkt om man vill kunna streama något till 2 platser samtidigt tex till Twitch och Hitbox utan att behöva ha igång 2 instanser av tex OBS/Xsplit.
För att få in RTMP modulen så måste man compilera nginx från början.
apt-get update && apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
Hämta hem senaste versionen av nginx och rtmp modulen.
wget http://nginx.org/download/nginx-1.7.9.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
Packa upp filerna
tar -zxvf nginx-1.7.9.tar.gz
unzip master.zip
cd nginx-1.7.9
Lägg sedan till rtmp modulen i nginx.
./configure --add-module=../nginx-rtmp-module-master
make
make install
Om du inte fått några error så är nginx med rtmp modulen installerade.
Ändra och lägg till följande rader i din conf fil. /usr/local/nginx/conf/nginx.conf
rtmp { server { listen 1935; chunk_size 8192; application stream { live on; meta copy; push rtmp://live-ams.twitch.tv/app/live_XYZ_ZXY; push rtmp://live.hitbox.tv/push/username?key=XYZ; } } }
För att starta nginx server skriv
/usr/local/nginx/sbin/nginx
För att stoppa nginx servern.
/usr/local/nginx/sbin/nginx
Ställ in din klient att streama mot rtmp://<ip>/stream