ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

NginXのインストールテスト

昨日は、NginXのインストールテストをやった。
=備忘録としてメモ。

本番サーバーで導入する前に、テスト環境で検証。
=VMware Player上のCentOS6.2にNginXを入れて、設定方法を確認しておく。

参考書は、「NginX入門」
ハイパフォーマンスHTTPサーバ Nginx入門
Clement Nedelcu
アスキー・メディアワークス
2011-04-21
3150円
★★★★★

(参考サイト)
http://nginx.org/ja/
http://wiki.nginx.org/NginxJa


●NginXの手動インストール
Nginx入門 p.63-

・OS:CentOS 6.2
・NginX 1.2.1(安定版)
・手動でソースコードをコンパイルしてインストールする。

NginXをインストールするディレクトリはどこにするか?
=Apacheの場合、「/etc/httpd」にインストール&設定ファイルが置いてあった。
=とりあえず、Nginx入門で説明されていた、教科書通りの場所にしておく。


●シェルスクリプト
configureで選択するオプションが多いので、シェルスクリプトにまとめておくと捗る?

(参考) CentOS 5にNginxをインストールする

Nginxはコンパイル時にしか拡張モジュールの組み込みができないので、ビルドの過程はシェルスクリプトの形で残しておいた方が良い。




#!/bin/sh

NGINX=nginx-0.8.53

# インストール先は /usr/local/nginx になる
cd $NGINX \
&& make clean \
&& ./configure \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--user=nginx \
--group=nginx \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
&& make



↓↓↓

Nginx入門を参考にして、ちょっと書き換える。

//--

#!/bin/sh

NGINX=nginx-1.2.1

# インストール先は /usr/local/nginx-1.2.1 になる
cd $NGINX \
&& make clean \
&& ./configure \
--prefix=/usr/local/NGINX \
--user=www-data \
--group=www-data \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_stub_status_module \
&& make

//--


●bashの使い方
シェルスクリプト入門
http://www.k4.dion.ne.jp/~mms/unix/shellscript/index.html

上記シェルスクリプト内容を「nginx_conf.sh」というファイルで保存する

rootになって、

# chmod u+x nginx_conf.sh
# nginx_conf.sh


でシェルスクリプトを実行する



エラー多発>< やむなく手動でconfigureする。

./configure --prefix=/usr/local/nginx-1.2.1 --user=www-data --group=www-data --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_stub_status_module



WebDAVは使わないから、

--with-http_dav_module


は要らんが、テスト環境なので、とりあえず全部入りでコンパイルしてみる。



configureのエラーメッセージが出た。

./configure: error: the GeoIP module requires the GeoIP library.
You can either do not enable the module or install the library.



Nginx入門 p.76 → libgeoip ライブラリを予めインストールしておくことが必要

# yum install GeoIP


とやったら、基本リポジトリには「GeoIP」がない、とのこと。
まあ、「GeoIP」は使う予定ないんだけどね!

# yum --enablerepo=remi,epel,rpmforge search GeoIP


他のリポジトリを検索してみた。

# yum --enablerepo=remi search GeoIP
# yum --enablerepo=epel search GeoIP
# yum --enablerepo=rpmforge search GeoIP


個別に他のリポジトリを検索したら、EPELにガッツリ揃っていた。



# yum --enablerepo=epel install GeoIP GeoIP-devel


これで不足していたパッケージが補填された。

Nginx入門 p.81 続いて、

# make
# make install



特にエラーなく、インストールまで完了した。
この後、NginXの設定ファイルをいじってみる。


●yumでNginXを自動インストールする場合

# yum install nginx



No package nginx available.


基本リポジトリには、NginXのパッケージが無かった。

(参考) リポジトリの追加方法
ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) - さくらインターネット創業日記

# yum --enablerepo=remi,epel,rpmforge search nginx


他のリポジトリを検索してみた。

# yum --enablerepo=epel search nginx


EPELに「NginX」のパッケージがありました。

改めて、

# yum --enablerepo=remi,epel,rpmforge install nginx



エラーメッセージ=依存関係にある、必要なパッケージが入ってない、とのこと。

[root@localhost vmware]# yum --enablerepo=epel install nginx
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* epel: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 0:0.8.55-2.el5 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: nginx-0.8.55-2.el5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: nginx-0.8.55-2.el5.x86_64
--> Processing Dependency: libcrypto.so.6()(64bit) for package: nginx-0.8.55-2.el5.x86_64
--> Processing Dependency: libGeoIP.so.1()(64bit) for package: nginx-0.8.55-2.el5.x86_64
--> Running transaction check
---> Package GeoIP.x86_64 0:1.4.8-1.el5 will be installed
---> Package nginx.x86_64 0:0.8.55-2.el5 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: nginx-0.8.55-2.el5.x86_64
---> Package openssl098e.x86_64 0:0.9.8e-17.el6.centos.2 will be installed
--> Finished Dependency Resolution
Error: Package: nginx-0.8.55-2.el5.x86_64 (epel)
Requires: perl(:MODULE_COMPAT_5.8.8)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest



EPELにあるのは「nginx-0.8.55-2.el5.x86_64」らしい。
こんな古いバージョンのNginXじゃ、ダメだ!!!

=自動ではなく、やっぱ手動でコンパイル&インストールしてみるべし!

以上、自分用のメモでした。
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/849-78746982

FC2Ad