ソースファイルをビルドすれば、無駄なモジュールを省いてパフォーマンスを重視した高速型にすることも、モジュールを追加し多機能型にすることも自由にできます。またインストールパスや設定ファイルのパスのカスタマイズも可能です。その他、サードパーティ製モジュールを組み込む場合にも、ソースファイルが必要になります。
ソースファイルをビルドするにはgccやmakeなどのビルド環境を用意する必要があります。
・ビルド環境の準備(Ubuntu 14.04の場合)
Ubuntu上にビルド環境を準備します。基本的な開発環境の他に、Perl互換正規表現ライブラリ、圧縮転送に必要なzlibライブラリ、HTTPSに必要なOpenSSLライブラリといったものが必要になります。
$ sudo apt-get install build-essential ←基本的な開発環境 $ sudo apt-get install libpcre3 libpcre3-dev ←Perl互換正規表現ライブラリ $ sudo apt-get install zlib1g zlib1g-dev ←圧縮転送に必要なzlibライブラリ $ sudo apt-get install openssl libssl-dev ←HTTPSに必要なOpenSSLライブラリ
この後の手順はCentOSと共通になります。Ubuntu 14.04/CentOS 6.5共通に進んでください。
・ビルド環境の準備(CentOS 6.5の場合)
CentOS上にのビルド環境を準備します。基本的な開発環境の他に、Perl互換正規表現ライブラリ、圧縮転送に必要なzlibライブラリ、HTTPSに必要なOpenSSLライブラリといったものが必要になります。
# yum groupinstall "Development Tools" ←基本的な開発環境 # yum install pcre pcre-devel ←Perl互換正規表現ライブラリ # yum install zlib zlib-devel ←圧縮転送に必要なzlibライブラリ # yum install openssl openssl-devel ←HTTPSに必要なOpenSSLライブラリ
この後の手順はUbuntuと共通です。Ubuntu 14.04/CentOS 6.5共通に進んでください。
・Ubuntu 14.04/CentOS 6.5共通
http://nginx.org/en/download.htmlにアクセスし、最新のNginxソースアーカイブを各リンクからダウンロードするか、直接、http://nginx.org/download/からダウンロードします。
そしてダウンロードしたソースアーカイブを展開し、configure/make/make intallを実行すれば「/usr/local」配下にインストールされます(図1)。nginxサービスを開始する方法は、「Nginxの操作」を参考にしてください。
$ curl -O http://nginx.org/download/nginx-1.7.2.tar.gz $ tar xvfz nginx-1.7.2.tar.gz $ cd nginx-1.7.2/ $ ./configure $ sudo make $ sudo make install
・configureオプション
ソースファイルをビルドする途中のconfigure実行時にさまざまなオプションを指定することで、モジュールの有効/無効やインストールパスといったNginxのカスタマイズが可能です。例えば各パスの指定には「--○○-path=パス」、モジュールの有効化には「--with-○○」、無効化には「--without-○○」といったオプションを使用します。
./configure \ --prefix=/etc/nginx \ --sbin-path=/usr/sbin/nginx \ --conf-path=/etc/nginx/nginx.conf \ --sbin-path=/usr/local/nginx/nginx \ --conf-path=/usr/local/nginx/nginx.conf \ --with-http_ssl_module \ --without-http_proxy_module
configureで指定可能なオプションは「$ ./configure --help」で確認できます。既に使用しているNginxがどんなconfigureオプションでビルドされているかを確認するには、nginxに「-V」オプションを指定し実行します。
$ nginx -V ←Nginx社の公式パッケージのconfigureオプション nginx version: nginx/1.7.2 built by gcc 4.8.2 (Ubuntu 4.8.2-19ubuntu1) TLS SNI support enabled configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-http_ssl_module (……略……) -Wp,-D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,--as-needed' --with-ipv6
Copyright © ITmedia, Inc. All Rights Reserved.