LoginSignup
0
0

More than 1 year has passed since last update.

バージョンの古いnginxをインストールする

Last updated at Posted at 2023-06-03

業務で最新のnginxではなく古いnginxを構築する時に実施した手順とはまりポイントを記載しておきます。

nginxのモジュール取得

こちらにて最新版から初期のモジュールまで全て取得可能です。
zipファイルはexeファイルとなっています。
Linuxで構築する場合はtar.gzのファイルを使用することになります。

wget https://nginx.org/download/nginx-x.y.z.tar.gz

解凍、configure

解凍

tar zxvf nginx-x.y.z.tar.gz

ユーザ、グループ作成

groupadd nginx
useradd -g nginx -s /sbin/nologin nginx

configure(必要なモジュールを組み込む)

cd nginx-x.y.z
./configure --prefix=/usr/local/nginx-x.y.z --user=nginx --group=nginx

ここで依存関係などで詰まるのでその度にyumaptでインストール実施する

yum search xxxx
yum install xxx

依存関係を解決できたらインストール

make & make install

これで無事完了、、、となるはずが自分の場合依存関係のところでハマりました。

gcc関連のモジュールがないと指摘されたので、yumを実行したのですが
何度やっても変わらない。
そのため、真剣にエラーを読むと下記のようになっていました。

Error: Package: glibc-headers-x.y.z.x86_64 (base)
           Requires: kernel-headers
Error: Package: glibc-headers-x.y.z.x86_64 (base)
           Requires: kernel-headers >= x.y.z

先人の知恵を借りるべくGoogle検索をしたところ下記記事がヒット。
yumのkernel-headers依存エラーを解決(CentOS7)
この記事を参考にすると、/etc/yum.confに下記記載があるとkernelのアップデートが除外されてしまうようでした。

exclude=kernel*

今回自分が使用していた環境は社内で払い出されたVMを使用しており、ユーザ側で勝手に意図しないkernelのアップデートがされないように初期構築で組み込まれていたようでした。
今回はkernelのアップデートが行われないと先に進めないため、一旦コメントアウトにして、先ほどうまくいかなった、yum install gccを実行し無事`configureを通過しました。

依存関係が上手くいかない時は下記が大事であると再認識した次第です。
1 /etc/yum.confを疑う
2 rpm -qa | grep xxxでインストール状態を確認する
3 yum updateを行う

補足

nginx起動

/usr/local/nginx-x.y.z/sbin/nginx

nginxの停止

/usr/local/nginx-x.y.z/sbin/nginx -s stop

confファイルのエラーチェック

/usr/local/nginx-x.y.z/sbin/nginx -t

nginxのバージョンや設定パラメータを表示

/usr/local/nginx-x.y.z/sbin/nginx -V

参考:コマンドラインのパラメータ

nginxの各環境の起動シェル
NGINX Init Scripts

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0