Redhat および関連するディストリビューション (fedora、centos) は、ソース rpm を非常に規則的なディレクトリ ツリーに保持します。RHEL5 の場合: ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/他のリリースの場合は、必要なものが見つかるまで ftp サーバーを参照できます。それ以外の場合は、お使いの nginx の正確なバージョンを Google で検索してください ( rpm -q nginx
)
srpm が見つかった場合は、rpm でインストールします。
rpm -ivh nginx-xxxx.src.rpm
これにより、ソースとビルド ファイルが に配置され/usr/src/redhat/{BUILD,SPEC,SRC,SOURCES}
ます。.spec
のファイルを変更して/usr/src/redhat/SPEC
、nginx の残りの部分と一緒に必要なモジュールをビルドするか、nginx を手動でビルドできます。
どのモジュールを構築しますか? fedora の nginx.specでは、実行時にいくつかのモジュールが指定されconfigure
ています。これは、ここに行を追加するのと同じくらい簡単です。
./configure \
[snip...]
--with-http_realip_module \
--with-http_addition_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_perl_module \
[snip...]
に変更を加えた後、最終的なものを次nginx.spec
のようにビルドできます。rpm
rpmbuild
rpmbuild -ba nginx.spec
パッケージがエラーなしでビルドされると仮定すると、rpmbuild はそれをそのままにします。 /usr/src/redhat/RPMS/
更新:更新が利用可能になると、yum は nginx パッケージを置き換えます。上記と同じプロセスを使用して、新しいパッケージが利用可能になるたびに再構築することをお勧めします。ただし、セキュリティが問題にならない場合は、次を yum 構成に追加することで、更新リストから nginx を簡単に除外できます (おそらく/etc/yum.repos.d/${repo}.repo
、または同様です。必ず正しいリポジトリに関連付けてください)。
exclude=nginx*
または --exclude オプションを指定して yum を実行する
yum --exclude=nginx*