nginxはRTMPモジュールを組み込んで動画配信を行うことができます。
RTMPモジュールを組み込むため、nginxをソースインストールで導入することが多いですが、
これをRPMパッケージとして作成しインストールすることにより、パッケージ管理の恩恵にあずかることができます。
前提環境
- CentOS7
- EPELリポジトリを導入しておく
コンパイルに必要なツール類の導入
yum groupinstall --enablerepo=epel 'Development Tools'
yum install yum-utils rpm-build redhat-rpm-config rpmdevtools git
RPM環境をビルドするコマンド投入
rpmdev-setuptree
Nginxのリポジトリ導入
wget http://nginx.org/keys/nginx_signing.key && sudo rpm --import nginx_signing.key
vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
enabled=1
gpgcheck=1
[nginx-source]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/SRPMS/
enabled=1
gpgcheck=1
最新のNginxソースRPMを入手
yum update && yumdownloader --source nginx
依存関係のあるパッケージ類をインストールしておく
yum-builddep nginx-1.xx.x-x.el7_x.ngx.src.rpm
yum install pcre-devel openssl-devel libxml2-devel libxslt-devel gd-devel perl-ExtUtils-Embed GeoIP-devel
バージョン番号は適時読み替えてください。
RTMPモジュールを入手
git clone https://github.com/arut/nginx-rtmp-module.git
SRPMを展開(インストール)
rpm -ivv nginx-1.xx.x-x.el7_x.ngx.src.rpm
SPECファイル編集
vi rpmbuild/SPECS/nginx.spec
configureオプションが羅列されている行の末尾に以下を追記する
--add-module=/_any_path_/nginx-rtmp-module
バージョン番号は適時読み替えてください。
リビルド前にspectoolを駆けらせる
spectool -g -R rpmbuild/SPECS/nginx.spec
リビルド
rpmbuild -ba rpmbuild/SPECS/nginx.spec
出来たRPMをインストール
rpm -ivv rpmbuild/RPMS/x86_64/nginx-1.xx.x-x.el7_x.ngx.x86_64.rpm
バージョン番号は適時読み替えてください。
これでRTMPモジュールを組み込んだNginxがインストールされました。
nginxスタート
service nginx start