さくらのVPS設定[6]-Nginxをpacoでインストール

ハイパフォーマンスHTTPサーバ Nginx入門を購入した。読んでいるとやっぱりnginxの再インストールをしたくなってきた。さらにグループだとかも見直しがしたくなってきたのでnginxだけでなくOSの再インストールからはじめることにした。

mongoDBのインストールまでは、今までと一緒で、nginxのインストールから変更となる。
ソースインストールで、しかも再インストールがありそうなnginxはpacoで管理するのがよさそうだ。

“make install”したソフトウェアを管理できる超便利ツール「Paco」
「Paco」で「make uninstall」できないソフトを削除する
yum,rpmで扱えないアプリケーションを管理するソフトpaco

pacoのインストール
インストールのために最新版を確認する。
paco – a source code pacKAGE oRGANIZER for Unix/Linux
2.0.9が最新版のバージョンなので、それをwgetし展開、configureする。

$ sudo mkdir /usr/local/src/paco
$ sudo wget http://downloads.sourceforge.net/paco/paco-2.0.9.tar.gz
$ sudo tar zxfv paco-2.0.9.tar.gz
$ cd paco-2.0.9
$ ./configure
・・
No package 'gtkmm-2.4' found

gtkmm-2.4がない模様だ。調べてみると、GUIインタフェース用らしいので要らないらしい。
pacoを導入
というわけで、–disableにして再度configureしインストールする。

$ sudo ./configure --disable-gpaco
$ sudo make
$ sudo make install

logmeコマンドでPaco自身もアンインストールできるようにする。
sudoで行おうとするとエラーが出る。

$ sudo make logme
make: *** [logme] エラー 2

suにチェンジしてlogmeするとうまくいった。

$ su
# make logme
# paco --version
paco-2.0.9  (28 June 2010)
Copyright (C) David Rosal <davidrr@sourceforge.net>
Protected by the GNU General Public License

pacoでnginxをインストール。
nginxをpacoでインストールする手順を、こちらで確認させて頂いた。
さくらVPSサーバにnginx-1.1.15をソースからビルドしてインストールしたときのメモ

アプリが使用するnginxアカウントを作成する。

$ sudo useradd -s /sbin/nologin -d /usr/local/nginx -M nginx

nginxのビルドに必要なパッケージのインストールをする。重要ではないがIPアドレスから地理情報を取得できるGeoIPも、使えそうなので入れてみる。

$ sudo yum install gcc openssl-devel pcre-devel zlib-devel GeoIP*

前と同じくnginx_tcp_proxy_moduleをダウンロードしパッチを当てる。

$ sudo mkdir /usr/local/src/nginx
$ cd /usr/local/src/nginx
$ sudo wget http://nginx.org/download/nginx-1.2.0.tar.gz
$ sudo git clone https://github.com/yaoweibin/nginx_tcp_proxy_module.git
$ sudo tar zxvf nginx-1.2.0.tar.gz
$ cd nginx-1.2.0

前回とは違い今回はユーザ名指定し幾つかのオプションとnginx_tcp_proxy_moduleを加えてconfigureする。
パス関連のオプション指定はコチラにまとまっていたので参考にさせて頂いた。
REMEMBER TO SPECIFY NGINX’S TEMP DIRECTORY PATH

$ sudo ./configure \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_geoip_module \
--with-http_flv_module \
--with-http_stub_status_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/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi/ \
--http-scgi-temp-path=/var/tmp/nginx/scgi/ \
--add-module=../nginx_tcp_proxy_module/
・・・・
Configuration summary
  + using system PCRE library
  + using system OpenSSL library
  + md5: using OpenSSL library
  + sha1: using OpenSSL library
  + using system zlib library

  nginx path prefix: "/usr/local/nginx"
  nginx binary file: "/usr/local/nginx/sbin/nginx"
  nginx configuration prefix: "/usr/local/nginx/conf"
  nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
  nginx pid file: "/usr/local/nginx/logs/nginx.pid"
  nginx error log file: "/usr/local/nginx/logs/error.log"
  nginx http access log file: "/var/log/nginx/access.log"
  nginx http client request body temporary files: "/var/tmp/nginx/client/"
  nginx http proxy temporary files: "/var/tmp/nginx/proxy/"
  nginx http fastcgi temporary files: "/var/tmp/nginx/fcgi/"
  nginx http uwsgi temporary files: "/var/tmp/nginx/uwsgi/"
  nginx http scgi temporary files: "/var/tmp/nginx/scgi/"

一時ファイルの場所も変更された模様だ。
必要なフォルダを作成しインストールを行う。

$ sudo mkdir -p /var/tmp/nginx/{proxy,client,fcgi,uwsgi,scgi}
$ sudo make
$ sudo paco -D make install

エラーが出てくる。sudoではダメの模様なのでsuにチェンジしてインストールを試みるとうまくいった。

$ su
# paco -D make install
# paco -a
nginx-1.2.0  paco-2.0.9

paco -aするとnginxがpaco管理として入っているのが確認できた。

シンボリックリンクを張り起動してみる。

$ sudo ln -s /usr/local/nginx/sbin/nginx /sbin/nginx
$ sudo nginx
$ nginx -v
nginx version: nginx/1.2.0

「Welcome to nginx!」をブラウザで確認できたので停めておく。

$ sudo nginx -s quit

自動起動設定は前回の「Nginx自動起動スクリプトの作成」と同じなので割愛する。
次回はnginxとnode併用でのディレクトリやグループ構成を行う。

Submit a Comment

Spam Protection by WP-SpamFree