一步步安裝nginx搭建流媒體服務器


ngnix 編譯

先安裝: html

apt-get install g++ nginx

apt-get install g++ 正則表達式

apt-get install build-essential ubuntu

通常已經安裝了 vim



在網上下載如下的包。後面我把這些包上傳到csdn資源裏,之後就不用找了。 c#

nginx-1.2.3.tar.gz      :應用服務器主程序 瀏覽器

nginx_mod_h264_streaming-2.2.7.tar.gz      :MP4流媒體支持模塊。 服務器

openssl-1.0.1c.tar.gz                 :openssl庫 工具

pcre-7.9.tar.gz                            :perl兼容的正則表達式庫模塊           測試

zlib-1.2.3.tar.gz                      :liunx下的JFFS文件系統製做工具

yamdi-1.9.tar.gz                 :flv文件添加關鍵幀,才能實現拖動播放



我已經打包好了在csdn: http://download.csdn.net/detail/yale8848/8859379

我把nginx-1.2.3.tar.gz 換成了最新穩定版本nginx-1.8.0.tar.gz 



下載後我把這些包統一放在了           /主文件夾/software/nginx文件夾下

其實安裝這些包,無非就是解壓,配置,編譯,安裝這幾個部分。


切換到nginx目錄

administrator@ubuntu :~$ cd ~/software/nginx

由於安裝一些包須要root權限,我習慣先切換到root權限。

administrator@ubuntu :~/software/nginx$     sudo su

安裝zlib過程

1.解壓zlib

administrator@ubuntu :~/software/nginx#  tar xzvf zlib-1.2.3.tar.gz

2.切換到zlib目錄

administrator@ubuntu :~/software/nginx#      cd zlib-1.2.3

3.配置 包安裝目錄,配置後,包會安裝到usr/local/zlib目錄下,方便之後管理

administrator@ubuntu :~/software/nginx/zlib-1.2.3#  ./configure --prefix=/usr/local/zlib

4.編譯

administrator@ubuntu:~/software/nginx/zlib-1.2.3#  make

5.安裝

administrator@ubuntu:~/software/nginx/zlib-1.2.3# make install

我習慣把編譯和安裝合併

administrator@ubuntu:~/software/nginx/zlib-1.2.3#  make && make install


其餘軟件相似

安裝pcre過程


administrator@ubuntu:~/software/nginx#  tar xzvf pcre-7.9.tar.gz


administrator@ubuntu:~/software/nginx#      cd pcre-7.9


administrator@ubuntu:~/software/nginx/pcre-7.9#  ./configure --prefix=/usr/local/pcre


administrator@ubuntu:~/software/nginx/pcre-7.9#  make && make install


安裝openssl-1.0.1c過程


administrator@ubuntu:~/software/nginx#  tar xzvf openssl-1.0.1c.tar.gz


administrator@ubuntu:~/software/nginx#      cd openssl-1.0.1c


administrator@ubuntu:~/software/nginx/openssl-1.0.1c#  ./config --prefix=/usr/local/openssl

administrator@ubuntu:~/software/nginx/openssl-1.0.1c# make && make install


安裝nginx_mod_h264_streaming-2.2.7.tar.gz 

直接解壓便可,
administrator@ubuntu:~/software/nginx#  tar xzvf nginx_mod_h264_streaming-2.2.7.tar.gz

在這個時候,修改nginx_mod_h264_streaming-2.2.7的源代碼:修改ngx_http_streaming_module.c,註釋掉

if (r->zero_in_uri)

  {

    return NGX_DECLINED;

  }

這一段。


若是不修改,後面nginx編譯會報錯

出現「POD document had syntax errors at /usr/bin/pod2man line 69. make 

rm /usr/bin/pod2man

#安裝nginx

添加用戶組groupadd www

   添加用戶                  useradd -g www www


 administrator@ubuntu:~/software/nginx#  tar xzvf nginx-1.2.3.tar.gz

 administrator@ubuntu:~/software/nginx# cd nginx-1.2.3


 administrator@ubuntu:~/software/nginx/nginx-1.2.3# ./configure --add-module=../nginx_mod_h264_streaming-2.2.7 --with-pcre=../pcre-7.9 --with-zlib=../zlib-1.2.3 --with-http_ssl_module --with-openssl=../openssl-1.0.1c    --user=www --group=www   --prefix=/usr/local/nginx --with-http_flv_module --with-http_stub_status_module --with-http_mp4_module --with-cc-opt=-O3

 administrator@ubuntu:~/software/nginx/nginx-1.2.3#make && make install

make[1]: *** [objs/addon/src/mp4_reader.o] 錯誤 1
# vim objs/Makefile (修改objs/Makefile文件, 去掉其中的」-Werror」), 而後就可以正常編譯了.

上面nginx已經安裝成功,那麼咱們就運行該服務器把,由於指定了nginx安裝目錄在/usr/local/nginx目錄下,那切換到該目錄

 administrator@ubuntu:~/software/nginx/nginx-1.2.3# cd /usr/local/nginx/sbin

 administrator@ubuntu:/usr/local/nginx/sbin # nginx -c /usr/local/nginx/conf/nginx.conf


在火狐瀏覽器中輸入localhost就能夠看到

的字樣。成功了。


nginx安裝好了,但還沒結束,我是搭建流媒體服務器,還須要繼續,


安裝yamdi-1.9.tar.gz,爲flv文件添加關鍵幀,才能實現拖動播放

administrator@ubuntu:~/software/nginx#  tar xzvf yamdi-1.9.tar.gz

 administrator@ubuntu:~/software/nginx# cd yamdi-1.9

 administrator@ubuntu:~/software/nginx# make && make install

使用方法:yamdi -i input.flv -o out.flv

      給input.flv文件 添加關鍵幀,輸出爲out.flv文件



Nginx安裝完成以後安裝路徑在/usr/local/nginx。

administrator@ubuntu:~/$ cd /usr/local/nginx/conf

由於nginx.conf是隻可讀的,執行添加修改權限。

administrator@ubuntu:/usr/local/nginx/conf$ chmod a+w nginx.conf

用vi編輯nginx.conf文件

administrator@ubuntu:/usr/local/nginx/conf$ vi nginx.conf

修改nginx.conf配置文件,添加MP4支持。在server配置中添加以下配置便可
        location ~ \.flv {

            flv;

        }
        location ~ \.mp4$ {
        mp4;
       }

vi執行命令esc,:wq保存退出。


基本上已經設置完畢,可是此時咱們測試的時候還須要一個支持拖拽播放的flash播放器,開源的JW Player就能夠實現這樣的功能,

       下載連接:http://blogimg.chinaunix.net/blog/upfile2/100607142612.rar

rar文件默認大不開,能夠安裝unrar。

sudo apt-get install unrar

安裝好後,就能夠打開rar包了


       下載播放器後,上傳到上面設置的/usr/local/nginx/html/flv_file/目錄下,閉關把flv視頻文件也放到該目錄下!

 root@ubuntu:/home/administrator/下載# cp player.swf /usr/local/nginx/html

啓動nginx後測試:

       http://192.168.1.60/player.swf?type=http&file=test1.flv

             說明: #個人ip是192.168.1.60

                       #player.swf是個人JW Player播放器

                       #http是表示居於http分發方式

                       #test1.flv是個人flv視頻文件

播放大文件的時候,畫面全是黑的,不知道什麼狀況,之後在研究。


ngnix 啓動腳本

把如下腳本保存爲nginx文件放入/etc/init.d/nginx

而後能夠經過
/etc/init.d/nginx start 命令啓動nginx
/etc/init.d/nginx stop 命令中止nginx
/etc/init.d/nginx restart 命令重啓nginx

#! /bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

set -e
[ -x "$DAEMON" ] || exit 0

do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}

do_stop() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}

do_reload() {
kill -HUP `cat $PIDFILE` || echo -n "nginx can't reload"
}

case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac

exit 0


nginx 開機自啓動

vi /etc/rc.local

加入一行  /etc/init.d/nginx start    保存並退出,下次重啓會生效。

相關文章
相關標籤/搜索