Amazon Linux 2016.09 で nginx 最新版(1.11.9)をソースからインストールする


 開発ツールをインストールする

yum groupinstall "Development Tools"
yum install \
pcre-devel \
libxml2-devel \
libxslt-devel \
gd-devel \
perl-ExtUtils-Embed \
geoip-devel \
gperftools-devel

OpenSSLとPCREのライブラリソースをインストール

ソースをダウンロード・解凍

cd /usr/local/src
wget http://nginx.org/download/nginx-1.11.9.tar.gz
tar xvzf nginx-1.11.9.tar.gz
cd nginx-1.11.9

OpenSSLの最新版をインストールする

cd /usr/local/src
wget https://www.openssl.org/source/openssl-1.1.0c.tar.gz
tar xvzf openssl-1.1.0c.tar.gz
cd openssl-1.1.0c

nginx purge moduleをインストールする

cd /usr/local/src
wget http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz
tar xvzf ngx_cache_purge-2.3.tar.gz

設定(yumパッケージと同じconfigureを設定する --with-ipv6オプションは使われなくなったので消す--with-threadsを追加)

./configure \
--prefix=/usr/share/nginx \
--sbin-path=/usr/sbin/nginx \
--modules-path=/usr/lib64/nginx/modules \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body \
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi \
--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi \
--http-scgi-temp-path=/var/lib/nginx/tmp/scgi \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/subsys/nginx \
--user=nginx \
--group=nginx \
--with-openssl=../openssl-1.1.0c \
--add-module=../ngx_cache_purge-2.3 \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module=dynamic \
--with-http_image_filter_module=dynamic \
--with-http_geoip_module=dynamic \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_random_index_module \
--with-http_secure_link_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-http_perl_module=dynamic \
--with-mail=dynamic \
--with-mail_ssl_module \
--with-pcre \
--with-pcre-jit \
--with-stream=dynamic \
--with-stream_ssl_module \
--with-threads \
--with-google_perftools_module \
--with-debug \
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' \
--with-ld-opt=' -Wl,-E'

コンパイル・インストール

make
make install

yumに入っていた起動スクリプトを持ってくる

/etc/rc.d/init.d/nginx
chkconfig --add nginx
chkconfig nginx on
chkconfig --list nginx

yumに入っていた設定ファイルを持ってくる

/etc/nginx/nginx.conf
service nginx configtest
service nginx start