新規事業・イノベーション共創メディア | Battery 新規事業とイノベーションを共創する原動力。Battery(バッテリー)

2017.2.2

nginxにngx_small_lightモジュールを組み込んでビルド・RPMパッケージ作成

nginxにngx_small_lightモジュールを組み込んでビルド・RPMパッケージ作成

背景

EC2上でyum install nginxするとインストールされるnginxに画像リサイズ機能を付加したい。また、RPMパッケージにして後々展開しやすいようにしておきたい。

作業の概要

Amazon LinuxのyumリポジトリからSPRMを取得し、ngx_small_lightモジュールを組み込んでビルド・RPMパッケージを作成する。作業はEC2(Amazon Linux AMI 2015.09.1)上で行う。

必要なパッケージをインストール

$ sudo yum update -y
$ sudo yum groupinstall -y "Development Tools"
$ sudo yum install -y pcre-devel zlib-devel openssl-devel gd-devel
$ sudo yum install -y libunwind perl-ExtUtils-Embed gperftools gperftools-libs gperftools-devel libxslt libxslt-devel GeoIP GeoIP-devel
$ sudo yum install -y ImageMagick ImageMagick-devel

rpmbuildの作業環境準備

$ cd ~ && mkdir -p ~/rpmbuild/{SOURCES,SPECS}
$ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

small_lightのセットアップ

(詳細は https://github.com/cubicdaiya/ngx_small_light )

$ git clone -b v0.6.11 git@github.com:cubicdaiya/ngx_small_light.git /var/tmp/ngx_small_light
$ cd /var/tmp/ngx_small_light
$ ./setup
$ cd ~/

nginxのSRPMを取得・編集

$ sudo yum install -y nginx
$ get_reference_source -p nginx
$ rpm -ivh /usr/src/srpm/debug/nginx-1.8.0-10.25.amzn1.src.rpm

specファイルを編集

$ vim ~/rpmbuild/SPECS/nginx.spec
...
./configure \
--add-module=%{_tmppath}/ngx_small_light \ # <= 追加
--prefix=%{nginx_datadir} \
--sbin-path=%{_sbindir}/nginx \
...

ビルド・パッケージング

$ rpmbuild -ba ~/rpmbuild/SPECS/nginx.spec
$ ls ~/rpmbuild/RPMS/x86_64/nginx-1.8.0-10.25.amzn1.x86_64.rpm

 

Facebookページから
最新情報をお届け

記事のアップデート情報や新規情報はFacebookページで随時配信されております。
気になる方は「いいね!」をお願いいたします。

Relicで一緒に働きませんか?

Relicでは現在一緒に働いてくれる仲間を積極的に採用中です。

新規事業開発やスタートアップの創出支援を主導してくれる事業プロデューサー、
自社開発したプラットフォームサービスの成長を加速させてくださるセールスディレクター、 新規事業立ち上げの企画からサービス開発プロジェクトに携わりたいエンジニアなど..

お話だけでも構いません、
興味がありましたら採用サイトよりエントリーください。
採用サイトを見る
Category archive

テクノロジーの記事

Category archive

特集・コラムの記事

資料請求、お問い合わせはフォームからお気軽にご連絡ください。

お問い合わせ