#!/bin/bash # # Install Standalone NGINX Server for Streaming RTMP HLS and DASH # (Does Not require root). # # This also downloads a custom premade nginx config file as well # as a website(html) for playback stream with ajax chat system. # # Edit Oct2019, added --with-cc-opt="-Wno-error" to fix compiling # for ubuntu 18* # # Author: Twily 2018-2019 # Website: twily.info # Requires: libssl-dev # By default install into ~/nginx/* # Make sure DIR is correct! DIR=$HOME/nginx mkdir $DIR/src -p cd $DIR/src git clone https://github.com/arut/nginx-rtmp-module # More versions https://sourceforge.net/projects/pcre/files/pcre/ wget http://kent.dl.sourceforge.net/sourceforge/pcre/pcre-8.40.tar.gz tar -xzvf pcre-8.40.tar.gz # More versions http://nginx.org/en/download.html wget http://nginx.org/download/nginx-1.13.0.tar.gz tar -xzvf nginx-1.13.0.tar.gz cd nginx-1.13.0 ./configure --prefix=$DIR --with-cc-opt="-Wno-error" --with-http_ssl_module --with-file-aio --with-pcre=../pcre-8.40 --add-module=../nginx-rtmp-module make make install cd $DIR # Tools for controlling server echo -e "#!/bin/bash\n./sbin/nginx" > startng echo -e "#!/bin/bash\n./sbin/nginx -s stop" > stopng echo -e "#!/bin/bash\n./sbin/nginx -t && ./sbin/nginx -s reload" > reloadng chmod +x {startng,stopng,reloadng} # Premade configuration file wget https://twily.info/nginxfiles/vjs/twily-stream-service.html -O twily-stream-service.html wget https://twily.info/nginxfiles/vjs/camonline.txt -O camonline.txt wget https://twily.info/nginxfiles/nginx.conf -O nginx.conf wget https://twily.info/nginxfiles/makethumb -O makethumb mkdir html mv twily-stream-service.html html/twily-stream-service.html mv camonline.txt html/camonline.txt mv conf/nginx.conf conf/nginx.conf.bk mv nginx.conf conf/nginx.conf chmod +x ./makethumb ln -s html/twily-stream-service.html twily-stream-service.html ln -s conf/nginx.conf nginx.conf echo -e "\n>NGINX has been installed to \"$DIR\".\n" exit