首先是兩人故事:
好幾年前,我還在上家公司就職的時候,工作電腦是不連外網的,內網開發,真滴難受,查啥資料的時候,只能用手機。有啥不會的,查到代碼了,只能對著一個一個敲。
有一天,俺們接待了一個客戶,想給他看我們新產品的的宣傳視頻,但是視頻剛弄好,還在內網,他們坐在會議室聊著天等著看視頻,俺們老大出來取視頻,拿著筆記本,傻愣愣的,視頻在內網,台式機又全部把usb口屏蔽了。忒緊急,不曉得咋辦,從內網取東西,又需要郵件一層層審核。這時候,俺站出來了,用nginx將影片透過我們和三方聯調開放的連接埠轉發到外網了,客戶看完了,很高興。結果我挨了一頓批,說我不符合公司流程啥的,最後俺老大把責任擔了。 。 。過程很美好,結果不咋地。
還有一次,是在之後一家公司,做車抵貸業務的,用戶資訊頁面,顯示人的,車的,發票的,行駛證的,亂七八糟加起來要顯示50多張圖片,上傳是客戶上傳的,但是營運要在審核頁面查看照片審核。現在的手機都賊好,相機拍攝的都7M,8M的。一個頁面光圖片顯示都要400M,這還是一個用戶的,當時圖片是在阿里的OSS上儲存的,下載下來極慢。這時候,老大不高興了,運營人員審批一個人的資料得5分鐘,四分半在等圖片加載,技術是做什麼吃的。然後壓力來到了前端哥們那邊,在上傳圖片的時候進行壓縮。但是最多到2M3M左右,實在下不去了。苦苦研究了好幾天偶然被我聽到了,我就說這用nginx不是很美嗎,直接搞一個本地靜態資源伺服器,擱本地存圖片,直接內網訪問不是很快。 老大也很開心,就這麼搞出來也很舒服,但是問題是,伺服器1T磁碟,用戶量也不小,可能沒幾天就滿了。但沒幾天,國家整治小貸公司,用戶不還款,沒等到伺服器滿,公司沒了。過程也很美好,結果更不咋地,但這次不怪我。
下面我就簡單介紹下這兩個部署步驟吧。
這個簡單,設定一下就好,但要注意gzip的壓縮對圖片影片等資源是沒用的,開啟了不但不會減少還佔用cpu資源。這裡為了示範,直接將圖片檔案放在html下了。
server { listen 8081; server_name somename alias another.alias; location /image { root html; autoindex on; } }
直接位址加埠加檔名存取
139.155.71.11:8081/image/test1.jpeg
這個就有幾點要注意了
想要在chrome裡播放,影片編碼必須是H264的,其他的都是黑屏,只有聲音,沒有影像。
需要新增mp4模組
備份nginx的設定檔,注意,一定要備份,make的時候搞沒了你會傷心的。
在nginx的解壓縮目錄執行如下指令,當然,要是本來就有其他的模組,也要一起加入上然後執行。
./configure --with-http_mp4_module
然後
make make install
將備份的設定檔放好,重啟nginx就行
server { listen 8082; server_name somename alias another.alias; location /video { root html; mp4; mp4_buffer_size 1m;#处理mp4初始内存大小 mp4_max_buffer_size 50m;#处理mp4最大内存大小 limit_rate 150k; #限速 limit_rate_after 20m; #在20m后限速 } }
#訪問地址加埠加檔名就可以存取到想要的影片了。
139.155.71.11:8082/video/test4.mp4
影片效果如下:
#以上是Nginx如何搭建圖片視訊伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!