使用Nginx托管切片等文件
6 个月前
提示:该方法仅适用于只需要使用转码后的切片、图片等文件。

说明

一般我们使用程序转码切片后,读取m3u8的时候,默认使用程序自带的Web服务,这里我们也可以使用Nginx对切片进行托管读取,然后后面就算程序关闭,依然不影响读取使用。

操作步骤

在服务器上安装nginx

提示:如果服务器已经装有宝塔和nginx,则跳过该安装步骤即可。

首先在服务器安装一个Nginx、这里建议使用宝塔面板,没有的可以自行安装一个,可使用命令:

#CentOS系统
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh

安装完成后,记住宝塔面板登录信息,忘记了的,可以使用bt default命令查看。

再进入面板,点击左侧软件商店,然后安装Nginx即可。

添加域名

然后解析域名到服务器ip,再点击面板左侧网站,添加站点。

只需要输入一个域名,比如这里我添加的test.moemv.com,其他默认,然后提交。

将切片文件夹转移到添加域名的根目录

首先在添加的域名根目录新建一个videos文件夹,如图:

然后前往程序存放切片,截图,mp4等文件的文件夹public/videos,如图:

public/videos下所有文件夹移动到新建域名根目录的videos文件夹里面即可。

最后如果程序的m3u8访问地址为:

http://efv.moemv.com/videos/202004/09/5e8e9cf18336a727d49ce479/6aca13/index.m3u8

那么此时的m3u8访问地址为:

#以添加的域名为准,这里我默认添加test.moemv.com
http://test.moemv.com/videos/202004/09/5e8e9cf18336a727d49ce479/6aca13/index.m3u8

也就是只需要换一下域名即可,路径都不变。

注意事项

使用nginx托管后不影响此前的m3u8播放链接

比如之前我使用efv.moemv.com绑定的程序,那么程序的m3u8访问地址大致为:

http://efv.moemv.com/videos/202004/09/5e8e9cf18336a727d49ce479/6aca13/index.m3u8

这里想使用nginx托管的话,先删除efv.moemv.com域名的反向代理,这时候等于和程序解绑了,也就是不能使用该域名访问程序了。

同样的可以把该域名当成刚添加的一个新域名,接下来操作就和上面一模一样,最后托管后,此前的m3u8访问地址依然不变。

托管后,使用第三方程序引用该m3u8地址播放不了

大致上可参考该教程→第三方播放M3U8等问题

这里主要说下跨域设置,和上方教程加的位置有点区别,这里以宝塔面板为例。

先点击域名设置-配置文件,再以下代码复制进去:

add_header Access-Control-Allow-Origin *;

如图: