7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...
大家好,我是路程lucky,熱愛開發(fā)、設(shè)計、學習、生活、愛搗鼓的web前后端工程師~
本文的重點是在之前文章提到創(chuàng)建的centos基礎(chǔ)上繼續(xù)搭建DLNA媒體服務(wù)。由于centos的系統(tǒng)是從零開始初步安裝完成,我們在安裝媒體服務(wù)時,不可避免出現(xiàn)各種環(huán)境依賴問題,本文也會提到常見的centos操作方法如下載文件、解壓文件以及如何排查和解決centos的linux環(huán)境下依賴文件的安裝、編譯問題,并且還包含了防火墻設(shè)置。另外,本文還會涉及centos下如何將一個應(yīng)用創(chuàng)建為系統(tǒng)自定義的service服務(wù),畢竟我們的DLNA服務(wù)是需要服務(wù)器重啟之后還能夠自動啟動的。干貨滿滿,一定會讓你有所收獲~
引言
根據(jù)之前我們的宏偉藍圖動手實現(xiàn)打造家庭媒體平臺設(shè)計方案,以及全面搭建好的centos服務(wù)器為基礎(chǔ),我們開始在centos從零安裝核心功能-搭建DLNA媒體服務(wù)。本文還是以windows的虛擬機centos環(huán)境為基礎(chǔ),這樣方便操作、截圖,最終物理機也是同樣的效果。
「動手打造家庭媒體網(wǎng)絡(luò)平臺」設(shè)計篇-靈感需求與架構(gòu)設(shè)計
「動手打造家庭媒體網(wǎng)絡(luò)平臺」基礎(chǔ)篇-安裝centos系統(tǒng)
基于DLNA的媒體服務(wù)軟件也有很多,但大家可能沒有怎么去搭建和使用,都使用的默認windows、mac自帶的媒體服務(wù)等。這里,我推薦一款比較好用,跨平臺已在windows、Mac、linux都能搭建,基于java語言開發(fā)的serviio。官網(wǎng)地址:https://www.serviio.org/。經(jīng)過我的使用測試,已經(jīng)在各平臺都能運行和使用(Mac、Windows版以后的文章中再拓展實踐一下)。java開發(fā)的跨平臺特性真的是非常不錯。
以下我們都以serviio指代DLNA服務(wù)器。
安裝環(huán)境依賴
首先,因為為了我們的實踐不至于難以理解,我們還是先了解serviio軟件安裝大致的必要軟件的依賴關(guān)系。而后續(xù)我們根據(jù)系統(tǒng)按照小白用戶的視角逐步采坑,分析和解決遇到的問題。
serviio軟件centos平臺安裝依賴流程圖
由上圖整理出來的關(guān)系圖可以看出,serviio是依賴于ffmpeg的,ffmpeg大家應(yīng)該也有了解,跨平臺的視頻媒體處理軟件,幾乎各種視頻音頻處理底層都會使用。而安裝ffmpeg時又會出現(xiàn)一些依賴一環(huán)接著一環(huán)。我們開始逐步摸索。
環(huán)境準備
- centos系統(tǒng)環(huán)境
- serviio安裝包:找到官方地址選擇linux平臺下載地址的url。官方下載頁可以找到下載地址。https://www.serviio.org/download/
選擇linux環(huán)境版本
瀏覽器找到下載地址,找到url。格式結(jié)尾為tar.gz
瀏覽器中找到下載url地址
留意官網(wǎng)說明,依賴ffmpeg以及l(fā)ame
留意官網(wǎng)所需依賴防止需要
開始安裝
打開我們之前創(chuàng)建的虛擬機centos環(huán)境。開始命令行的操作。
step1.嘗試使用wget下載serviio安裝包
默認沒有安裝wget,提示命令不存在。執(zhí)行yum install wget,則開始安裝wget工具。
// 安裝wget工具yum install wget安裝wget下載工具
1.1.命令下載壓縮包文件
進入/lucky目錄,執(zhí)行命令下載壓縮包文件。但你會突然發(fā)現(xiàn)出現(xiàn)報錯。錯誤原因大致為https為需要CA證書的。下面也提示了可以增加參數(shù)忽略證書檢查。
wget?https://download.serviio.org/releases/serviio-2.1-linux.tar.gz根據(jù)錯誤提示增加忽略檢查證書參數(shù)--no-check-certificate。于是成功開始下載文件。
wget?https://download.serviio.org/releases/serviio-2.1-linux.tar.gz --no-check-certificatewget下載serviio安裝包
step2.解壓serviio安裝包
進入/lucky目錄,解壓文件。就會在目錄下創(chuàng)建serviio-2.1文件夾。
// 解壓縮命令tar -xzvf serviio-2.1-linux.tar.gz解壓縮命令
2.1查看解壓后內(nèi)容以及設(shè)置文件夾權(quán)限可讀可寫
ls命令可以看到文件夾的目錄結(jié)構(gòu)。其中關(guān)鍵的幾個目錄是
- bin:執(zhí)行serviio的主目錄。
- log:日志目錄(當程序跑起來就會自動生成了)??梢杂脕聿榭慈罩居涗浂ㄎ粏栴}。
ls查看文件夾目錄以及設(shè)置文件夾權(quán)限可讀可寫
2.2查看解壓后的README.txt官方給與的幫助文件
使用vi README.txt命令可以看官網(wǎng)給出文件中的內(nèi)容。退出vim模式按 shift + :,輸入q退出vim.
這里也能看到官方給與的提示。執(zhí)行bin/serviio.sh是用來啟動的。啟動后有控制臺訪問。
查看官方README.txt幫助文件
step3.嘗試bin目錄下執(zhí)行命令
bin目錄下的文件為兩個腳本文件,一個是主程序足夠用,一個是瀏覽器腳本(Linux安裝GUI時才有效)。確保文件夾是可讀可寫可訪問否則后續(xù)啟動會出現(xiàn)權(quán)限問題。
查看bin目錄文件
3.1嘗試執(zhí)行主程序
進入bin目錄,執(zhí)行 sudo ./serviio.sh發(fā)現(xiàn)報錯了,此時就需要到提示的日志文件中查看報錯原因。
執(zhí)行命令報錯
3.2排查java基礎(chǔ)環(huán)境
首先我們就需要排查因為報錯執(zhí)行java,那必然現(xiàn)有java環(huán)境。這一點是首先需要明確的。
// 安裝javayum install java-1.8.0-openjdk* -y安裝java
成功安裝java,查看版本信息
// 查看java版本java -versionjava環(huán)境安裝完成
3.3查看錯誤日志
繼續(xù)執(zhí)行bin文件夾的命令發(fā)現(xiàn)還是報錯。于是vim命令查看日志文件,按PageDown往下翻,逐步發(fā)現(xiàn)報錯問題是沒有安裝FFMPEG
// 進入log日志cd log// 查看日志文件vi serviio.log找到錯誤原因沒有FFMPEG
3.4下載和安裝FFMPEG
此時,我們需要類似之前一樣,下載對應(yīng)ffmpeg的tar.gz的包進行安裝。這里就快速下載和解壓。官網(wǎng)地址:http://ffmpeg.org/,找到對應(yīng)linux平臺壓縮包。
// 進入目錄cd /lucky // 下載wget?http://ffmpeg.org/releases/ffmpeg-4.3.tar.gz// 解壓tar -xzvf ffmpeg-4.3.tar.gz3.4.1安裝FFMPEG
進入ffmpeg目錄,執(zhí)行配置和安裝。這里可以看出,按一般的 ./configure會出現(xiàn)警告依賴yasm。我們干脆直接增加參數(shù)不編譯yasm
// 進入ffmpeg文件夾cd?ffmpeg-4.3// 執(zhí)行配置命令,這里ffmpeg一般都會啟用share./configure --enable-share --disable-yasm進入ffmpeg目錄進行編譯
3.4.2安裝lame音頻工具依賴
下載和安裝lame,這里和上面方式一樣,解壓,配置,以及安裝。
下載lame依賴壓縮包官網(wǎng)提供地址
但也不盡如人意,又出現(xiàn)報錯。根據(jù)報錯信息可以發(fā)現(xiàn),沒有安裝gcc編輯環(huán)境。
// 安裝gcc編譯環(huán)境yum install gcc*編譯出現(xiàn)了報錯,原因為檢查gcc沒有
重新安裝,成功安裝了lame依賴包。
3.4.3查看ffmpeg是否能運行
答案是,前途光明,道路曲折。還是出現(xiàn)了報錯。但沒關(guān)系,根據(jù)報錯信息,解決問題。
提示某個.so文件找不到,執(zhí)行安裝命令安裝依賴包。
安裝缺失的.so依賴包
安裝后還是不行,依然缺少包。
此時借助于強大的互聯(lián)網(wǎng)找到問題應(yīng)該還是配置問題。
在/etc/ld.so.conf.d文件增加lib文件夾。
// 找到配置文件vi?/etc/ld.so.conf// 增加 lib64目錄,全局能夠找到依賴文件// 按insert鍵進入編輯模式// 增加路徑/usr/local/lib/usr/local/lib64//按:,輸入 wq,執(zhí)行保存文件// 執(zhí)行l(wèi)dconfig命令(小寫的l),使得配置生效ldconfig編輯/etc/ld.so.conf.d文件增加路徑
3.4.4ffmpeg終于安裝完成安裝
成功安裝ffmpeg
step4.安裝serviio為自定義系統(tǒng)服務(wù)
按照最初的設(shè)計,我們需要把serviio設(shè)置為自定義系統(tǒng)服務(wù)啟動,這樣重啟也能夠自動運行。
4.1創(chuàng)建service文件
一般centos都是可以利用這種方式變?yōu)樽远x系統(tǒng)服務(wù)。關(guān)鍵的是幾個要素:1.執(zhí)行命令路徑以及用戶,這里可以發(fā)現(xiàn)用戶為serviio。2.After輸入的network.target表明在網(wǎng)絡(luò)的服務(wù)完成后再加載,避免網(wǎng)絡(luò)還沒加載就加載serviio服務(wù)導(dǎo)致問題。
// 創(chuàng)建service文件touch /lib/systemd/system/serviio.service// 輸入系統(tǒng)服務(wù)內(nèi)容[Unit]Description=Serviio Server DaemonAfter=syslog.target network.target[Service]User=serviioType=simpleExecStart=/lucky/serviio-2.1/bin/serviio.sh[Install]WantedBy=multi-user.target輸入serviio啟動服務(wù)代碼
4.2添加用戶serviio
添加用戶serviio
4.3啟動serviio系統(tǒng)服務(wù)
通過systemctl或者service命令,可以以系統(tǒng)服務(wù)方式控制serviio服務(wù)了。很方便。而且重啟以后也會自動執(zhí)行。
// 重新加載系統(tǒng)配置服務(wù)systemctl daemon-reload// 啟用serviio服務(wù)systemctl enable serviio// 執(zhí)行serviio服務(wù)systemctl start serviio// 查看serviio服務(wù)systemctl status serviio// 停止serviio服務(wù)systemctl stop serviio成功啟動服務(wù)
step5.防火墻設(shè)置
當服務(wù)啟動后,會發(fā)現(xiàn)直接訪問是無法訪問的。根據(jù)經(jīng)驗,linux系統(tǒng)是默認開啟防火墻的,確保安全。這里為了測試我們關(guān)閉防火墻
// 查看防火墻運行情況systemctl status firewalld.service// 禁用防火墻systemctl disable firewalld.service查看、關(guān)閉防火墻
查看、關(guān)閉防火墻
step6.瀏覽器web端訪問
此處可以參照體驗篇的配置,查看更詳細的配置。這里只提及配置過程中出現(xiàn)的異常問題。
「動手打造家庭媒體網(wǎng)絡(luò)平臺」體驗篇-媒體服務(wù)配置和預(yù)覽效果
主界面
5.1排查web端配置無法保存的問題
web界面配置媒體文件夾保存操作時,出現(xiàn)了500報錯。經(jīng)過查看日志發(fā)現(xiàn),報錯為不能執(zhí)行dcraw。經(jīng)過網(wǎng)絡(luò)搜索相關(guān)知識后發(fā)現(xiàn),dcraw為一個依賴的包文件。
原因是一開始ffmpeg沒有正確安裝完成只裝了主程序,缺少了包,當完全安裝后,又可以保存。
總結(jié)
感謝您真正有耐心地看完安裝篇-搭建DLNA媒體服務(wù)??戳吮酒诹慊A(chǔ)的centos上安裝搭建平臺遇到了各種問題,但遇到問題,分析問題,解決問題的過程,正是寶貴的財富。真正做好一件事,需要有毅力付出更多的努力,會遇到各種挫折,但我們不能放棄追逐夢想前進的腳步,這也許就是人生。
后續(xù)我會從增加離線下載、內(nèi)網(wǎng)透傳等一系列增強功能,圍繞著更好地為我們的網(wǎng)絡(luò)媒體平臺添磚加瓦,讓生活更科技。
堅持原創(chuàng),堅持動手實踐,那么持續(xù)關(guān)注我,給予創(chuàng)造的動力,還給你一片廣袤的天空。我是路程lucky,分享和實踐專業(yè)技能,為美好生活和未來而努力奮斗。
相關(guān)文章
「動手打造家庭媒體網(wǎng)絡(luò)平臺」設(shè)計篇-靈感需求與架構(gòu)設(shè)計
「動手打造家庭媒體網(wǎng)絡(luò)平臺」基礎(chǔ)篇-安裝centos系統(tǒng)
「動手打造家庭媒體網(wǎng)絡(luò)平臺」體驗篇-媒體服務(wù)配置和預(yù)覽效果
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的7 centos 查看程序文件数量_「动手打造家庭媒体网络平台」安装篇-centos搭建DLNA媒体服务...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 白金信用卡取现手续费 各大银行取现手续费
- 下一篇: 实现Runnable 创建多线程的简单实