centos7搭建nginx+lua+vod环境

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

背景

想着用nginx+vod搭建一个点播服务器但是对拉流URL的鉴权这块想着用lua来实现着就需要搭建一个nginx支持lua和vod的环境

配置服务器DNS

echo "nameserver 114.114.114.114" >> /etc/resolv.conf

安装网络工具

yum install wget ntpdate git -y

安装编译工具及依赖库

ntpdate ntp.aliyun.com
timedatectl set-timezone Asia/Shanghai

同步服务器时间

yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y

安装luajit及配置环境变量

wget -c http://luajit.org/download/LuaJIT-2.0.4.tar.gz
tar xzvf LuaJIT-2.0.4.tar.gz
cd LuaJIT-2.0.4
make install PREFIX=/usr/cloudland/nginx/luajit
export LUAJIT_LIB=/usr/cloudland/nginx/luajit/lib
export LUAJIT_INC=/usr/cloudland/nginx/luajit/include/luajit-2.0

下载ngx_devel_kit模块

cd -
wget https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz
tar -xzvf v0.3.0.tar.gz

下载lua-nginx-module模块

wget https://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz
tar -xzvf v0.10.9rc7.tar.gz

下载nginx-vod-module模块

这个模块是用来支持nginx点播功能的

wget https://github.com/kaltura/nginx-vod-module/archive/refs/tags/1.28.tar.gz
tar -zxvf 1.28.tar.gz

下载nginx并配置安装

wget https://nginx.org/download/nginx-1.20.1.tar.gz
tar -xzvf nginx-1.20.1.tar.gz
cd nginx-1.20.1

配置nginx编译选项

安装目录是/usr/cloudland/nginx

./configure --prefix=/usr/cloudland/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-pcre  --with-http_gunzip_module --with-file-aio --with-threads --with-cc-opt="-O3" --with-http_ssl_module --with-openssl-opt=enable  --with-http_mp4_module --add-module=../lua-nginx-module-0.10.9rc7 --add-module=../ngx_devel_kit-0.3.0  --add-module=../nginx-vod-module-1.28/
make && make install

解决libluajit-5.1.so.2库缺失的问题

echo "$NGINX_INSTALL_PATH/luajit/lib" > /etc/ld.so.conf.d/usr_local_lib.conf
ldconfig

验证lua模块是否安装成功

编辑nginx的配置文件,在server块里添加lua的配置项目

vi /usr/cloudland/nginx/conf/nginx.conf
location /lua {
                default_type 'text/plain';
                content_by_lua 'ngx.say("hello, lua for vod")';
}

启动nginx进程

cd /usr/cloudland/nginx/
./sbin/nginx -p /usr/cloudland/nginx -c conf/nginx.conf

浏览器验证

http://172.24.0.74/lua

发现返回"hello, lua for vod"

若没有返回可能是有防火墙的问题没有通

curl验证

也可以在服务器上直接用curl命令验证

curl http://127.0.0.1/lua

通过浏览器和curl验证nginx lua模块已经加载成功

vod模块的验证

在nginx的配置文件里添加vod的相关配置

 location /vod {
                vod hls; # 协议使用hls模式
                vod_mode local; # 访问模式指定为local模式

                vod_align_segments_to_key_frames on; # 每个切片以关键帧开头
                vod_manifest_segment_durations_mode accurate; # 精确显示每个切片的长度
}             

随便拷贝一个视频文件到服务器的/media目录

VLC点播视频验证

打开URL:http://172.24.0.74/vod/720_filter.mp4/index.m3u8

即可看到视频的播放说明vod模块加载成功

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginxcentos

“centos7搭建nginx+lua+vod环境” 的相关文章