1绑洛、Centos 7.x 或 6.8
? 1、第一步 裝系統(tǒng) 7.x
? 2、第二步 遠程登錄系統(tǒng) ssh
? 3地技、第三步 安裝yum install -y wget
? ? ? ? ? ? 源碼安裝 wget下載
? 4、第四步 換源 Centos7 默認源? 阿里云的
? ? ? ? ? ? 并更新源 建立緩存
? 5秒拔、第五步 工具
? ? ? ? ? ? git
gcc 編譯器==>GNU開源計劃===>C? C++ Java等(源代碼 面向對象 面向過程 匯編==>機器語言)
二進制? 010101010101
vi/vim 文本編輯器? g環(huán)境 k環(huán)境
make源碼編譯安裝? makefile文件? 編譯你當前改變的文件 更新文件
make install
可執(zhí)行文件/ exe 指定的目錄中 /路徑中? bin? sbin? /usr/local/
/usr/local/nginx/sbin/nginx
openssl? ssh服務
加密? ssh? 免密登錄? 依賴
6莫矗、建立一個目錄 源碼編譯安裝 /usr/local/? /opt/? 各種放
? github
瀏覽 github 運維相關開源軟件? python
編程的基本功
二次開發(fā)==>站在巨人的肩膀上===>復制粘貼===>抄===>借鑒
15000元
2-3款
7、nginx-rtmp-module 安裝Nginx的rtmp協(xié)議的擴展
? ? ? PC端
? ? ? 移動端--->操作系統(tǒng)--->iOS
? ? ? ? ? ? ? ? ? ? ? ? --->Android
? ? ? |---->手機
? ? ? |---->平板(電腦)
? ? ? |---->智能設備---->手表
? ? ? ? ? ? ? ? ? ? ---->手環(huán)
? ? ? ? ? ? ? ? ? ? ---->眼鏡/VR/AR/MR
? ? ? ? ? ? ? ? ? ? ---->互聯(lián)網電視APP
? ? ? ? ? ? ? ? ? ? ---->機頂盒Android
? ? ? ? ? ? ? ? ? ? ---->智能家電
? ? ? |---->區(qū)塊鏈設備
? ? ? ? ? ? |---->垃圾桶
? ? ? ? ? ? |---->加濕器 路由器 電視 冰箱? 洗機器 熱水器 運動 手機挖礦等
? ? ? ? ? ? ALL IN BLOCKCHAIN
? ? 8砂缩、解壓縮? tar -xzvf
? ? 9作谚、進入到Nginx目錄里 進行配置
? ? ? cd nginx-1.15.0
? ? ? ? ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
? ? ? http_ssl_module模塊/擴展/ http https 阿里云ssl證書 免費/淘寶 25 二級域名
? nginx-rtmp-module 模塊/擴展 用于推流
? ? 10、編譯源碼并安裝
? ? 建立在 makefile文件
? ? ? ? make
? ? ? ? make install
? ? ? ? 或
? ? ? ? make && make install
? ? 11庵芭、驗證nginx安裝成功
? ? 1./usr/local/nginx/sbin/nginx -V 查看版本號
2.直接啟動
? ? ? /usr/local/nginx/sbin/nginx
[root@liangshen sbin]# ./nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
? ? ? ? 3.80端口被占用
? 調錯
? L A M P? Apache2.0 阿帕奇? WEB服務 80端口
4.通過80端口 瀏覽器的方式訪問? nginx歡迎頁面 表示成功
? 不是 就需要改nginx的默認端口 80? 8080 9000 9090 8888等
5.防火墻的端口限制
12妹懒、修改Nginx的conf文件 配置rtmp端口 1935端口
/usr/local/nginx
? rtmp{
? ? 17
? ? 18? server{
? ? 19
? ? 20? ? ? ? listen 1935;
? ? 21? ? ? ? chunk_size 5000;
? ? 22? ? ? ? ?
? ? 23? ? ? ? application hls{
? ? 24? ? ? ? ? ? live on;開啟實時直播? 實況直播
? ? ? ? ? ? ? ? record off; 不記錄數(shù)據
//沒有指定ts切片放在哪里
? ? 25? ? ? ? }
? ? 26? ? ? ?
? ? 27? ? }
? ? 28? ?
? ? 29 }
? ? 停止Nginx服務 /usr/local/nginx/sbin/nginx -s stop
? ? 啟動并加載配置文件
? ? /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
[root@liangshen conf]# /usr/local/nginx/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
? ? nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
? ? nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:1935 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
出現(xiàn)如上信息就表示直播服務器已經搭建成功。
? ? 13双吆、如何推流
? ? 1眨唬、OBS軟件推流Mac Linux Windows(小白 非專業(yè)人士)
2、FFmpeg音頻視頻處理的庫Mac? Linux Windows? Android iOS等 開發(fā)者
? ? OBS推流
rtmp://主機ip地址:1935/oldboy_live? room01 room02 小澤老師 龍澤老師 波多老師
? ? 14好乐、到/usr/local/nginx/html
? ? hls 目錄? 如果沒有就conf里沒有配置 1935
http服務里需要指定 推流上來 hls產生的ts切片的目錄
location /hls {?
? ? ? ? ? ? #server hls fragments?
? ? ? ? ? ? types{?
? ? ? ? ? ? ? ? application/vnd.apple.mpegurl m3u8;?
? ? ? ? ? ? ? ? video/mp2t ts;?
? ? ? ? ? ? }?
? ? ? ? ? ? alias /temp/hls;?
? ? ? ? ? ? expires -1;?
? ? ? ? }?
調試
2单绑、Ubuntu 18.04 19.04 16.04 14.04
3、Nginx 1.10.2--1.11.2
4曹宴、FFmpeg 處理音頻 視頻的庫
? 遮罩層?
5搂橙、VLC視頻播放器
? 5.1 拉流的過程 播放
? ? ? /usr/local/nginx/html/hls ls命令
? xxxx.m3u8
? http://x.x.x.x/hls/xxxx.m3u8
? XMPP協(xié)議
6、HLS協(xié)議 apple 研發(fā)
? 視頻流--->TS切片--->3S--->85kb--->HTTP
? N多個.ts
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:141
#EXT-X-TARGETDURATION:8
#EXTINF:8.333,
oldboy_live-141.ts
#EXTINF:8.334,
oldboy_live-142.ts
#EXTINF:8.333,
oldboy_live-143.ts
#EXTINF:8.333,
oldboy_live-144.ts
#EXTINF:8.334,
oldboy_live-145.ts
#EXTINF:8.333,
oldboy_live-146.ts
#EXTINF:8.333,
oldboy_live-147.ts
#EXTINF:8.334,
oldboy_live-148.ts
#EXTINF:8.333,
oldboy_live-149.ts
7笛坦、HLS 原生就支持
8区转、基于Flash HTTP協(xié)議 HTTPS訪問443
? 谷歌瀏覽器Chrome 就會禁用Flash
9、Nginx+RMTP協(xié)議+HLS協(xié)議
? ? ? ? ? 推流--->拉流
10版扩、熊熊直播
? ? 服務器硬件
? ? |--->CPU 1顆? 100人
? ? ? ? 4核心? 2CPU? 16*2 = 32核心? ? 1000人
? ? |--->10M
? ? 集群
? ? |--->5臺
11废离、壓力測試
? ? 1、同時播? 多路? 推流---
2礁芦、同時看? 多路? 拉流
? ? ? ? ? ? ? ? go語言
12蜻韭、108人
? ? 包裝一個。
準備:工作
------------------------------------------------------------
1柿扣、作業(yè)
? 一鍵安裝
2肖方、錯誤手記
3、面試題
4未状、掌握git的基本使用? wget? git? scp? ssh等
5俯画、Centos g環(huán)境 k環(huán)境
? 擴展
? 字符終端===>X11庫(喬布斯 MacOS系統(tǒng) 麥金塔系統(tǒng) X11庫 Windows視窗 可視化圖形交互界面)
? gedits
6、包
? U盤里 各種版本 5版本
7司草、DBA基礎
? 1.至少掌握一門后臺編程語言
? ? 1.1 電商
? ? ? ? Go? Nodejs? PHP? Java等
? ? ? ? 增
刪
改
? ? ? ? 查
? ? 1.2 DBA基礎
? ? ? ? MySQL 2-3略懂? 3-5 熟練? 5-10精通? 10年(淘汰)
? ? ? ? Mongodb NoSQL 文檔式 /被黑客干掉了/Facebook
? ? redis 電商秒殺
Oracle 3-5年略懂 5-10專家? 10年 未來
甲骨文云數(shù)據庫