HEARTBEATS

nginxパッケージの選び方@CentOS6、Ubuntu14.04

   

こんにちは。CTOの馬場です。

最近はnginxがパッケージでインストールできるようになってきたので、 いろいろなパッケージのconfigureオプションを比較してみました。

  • nginx.org公式パッケージ(stable = 1.6.0) @ CentOS6, Ubuntu14.04
  • nginx.org公式パッケージ(mainline = 1.7.3) @ CentOS6, Ubuntu14.04
  • Ubuntu公式パッケージ(1.4.6) @ Ubuntu14.04

nginxにはまだDSO機構がないので利用したいモジュールが入ったものを選ぶ必要があります。

バージョン、configureオプションをもとにパッケージを選びましょう。

nginx.org公式パッケージ(stable / mainline)

centos nginx-orgcentos nginx-org-mainlineubuntu nginx-orgubuntu nginx-org-mainline
--conf-path=/etc/nginx/nginx.confoooo
--error-log-path=/var/log/nginx/error.logoooo
--group=nginxoooo
--http-client-body-temp-path=/var/cache/nginx/client_tempoooo
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_tempoooo
--http-log-path=/var/log/nginx/access.logoooo
--http-proxy-temp-path=/var/cache/nginx/proxy_tempoooo
--http-scgi-temp-path=/var/cache/nginx/scgi_tempoooo
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_tempoooo
--lock-path=/var/run/nginx.lockoooo
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wp -D_FORTIFY_SOURCE=2'xxoo
--param=ssp-buffer-size=4 -m64 -mtune=generic'ooxx
--pid-path=/var/run/nginx.pidoooo
--prefix=/etc/nginxoooo
--sbin-path=/usr/sbin/nginxoooo
--user=nginxoooo
--with-cc-opt='-O2 -g -pipe -Wp -D_FORTIFY_SOURCE=2 -fexceptions -fstack-protectorooxx
--with-cc-opt='-g -O2 -fstack-protectorxxoo
--with-file-aio=oooo
--with-http_addition_module=oooo
--with-http_auth_request_module=oooo
--with-http_dav_module=oooo
--with-http_flv_module=oooo
--with-http_gunzip_module=oooo
--with-http_gzip_static_module=oooo
--with-http_mp4_module=oooo
--with-http_random_index_module=oooo
--with-http_realip_module=oooo
--with-http_secure_link_module=oooo
--with-http_spdy_module=oooo
--with-http_ssl_module=oooo
--with-http_stub_status_module=oooo
--with-http_sub_module=oooo
--with-ipv6=oooo
--with-ld-opt='-Wl -Bsymbolic-functions -Wl -z relro -Wl --as-needed'xxoo
--with-mail=oooo
--with-mail_ssl_module=oooo

Ubuntu公式パッケージ

ubuntu nginxubuntu nginx-lightubuntu nginx-extrasubuntu nginx-fullubuntu nginx-naxsi
--add-module=/build/buildd/nginx-1.4.6/debian/modules/headers-more-nginx-modulexxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/naxsi/naxsi_srcxxxxo
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-auth-pamxxoox
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-cache-purgexxoxo
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-dav-ext-modulexxoox
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-development-kitxxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-echoxooox
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-http-pushxxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-luaxxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-upload-progressxxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/nginx-upstream-fairxxooo
--add-module=/build/buildd/nginx-1.4.6/debian/modules/ngx-fancyindexxxoxx
--add-module=/build/buildd/nginx-1.4.6/debian/modules/ngx_http_substitutions_filter_modulexxoox
--conf-path=/etc/nginx/nginx.confooooo
--error-log-path=/var/log/nginx/error.logooooo
--http-client-body-temp-path=/var/lib/nginx/bodyooooo
--http-fastcgi-temp-path=/var/lib/nginx/fastcgiooooo
--http-log-path=/var/log/nginx/access.logooooo
--http-proxy-temp-path=/var/lib/nginx/proxyooooo
--http-scgi-temp-path=/var/lib/nginx/scgiooooo
--http-uwsgi-temp-path=/var/lib/nginx/uwsgiooooo
--lock-path=/var/lock/nginx.lockooooo
--param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2'ooooo
--pid-path=/run/nginx.pidooooo
--prefix=/usr/share/nginxooooo
--with-cc-opt='-g -O2 -fstack-protectorooooo
--with-debug=ooooo
--with-http_addition_module=oxoox
--with-http_dav_module=oxoox
--with-http_flv_module=xxoxx
--with-http_geoip_module=oxoox
--with-http_gzip_static_module=oooox
--with-http_image_filter_module=oxoox
--with-http_mp4_module=xxoxx
--with-http_perl_module=xxoxx
--with-http_random_index_module=xxoxx
--with-http_realip_module=ooooo
--with-http_secure_link_module=xxoxx
--with-http_spdy_module=oxoox
--with-http_ssl_module=ooooo
--with-http_stub_status_module=ooooo
--with-http_sub_module=oxoox
--with-http_xslt_module=oxoox
--with-ipv6=ooooo
--with-ld-opt='-Wl -Bsymbolic-functions -Wl -z relro'ooooo
--with-mail=oxoox
--with-mail_ssl_module=oxoox
--with-pcre-jit=ooooo
--without-http_browser_module=xoxxx
--without-http_geo_module=xoxxx
--without-http_limit_req_module=xoxxx
--without-http_limit_zone_module=xoxxx
--without-http_memcached_module=xoxxx
--without-http_referer_module=xoxxx
--without-http_scgi_module=xoxxo
--without-http_split_clients_module=xoxxx
--without-http_ssi_module=xoxxx
--without-http_userid_module=xoxxx
--without-http_uwsgi_module=xoxxo
--without-mail_imap_module=xxxxo
--without-mail_pop3_module=xxxxo
--without-mail_smtp_module=xxxxo

まとめ

今のところ、基本機能を使うならnginx.org公式のmainlineがよいでしょう。

いろいろなモジュールを使うならUbuntu公式のnginx-extrasが簡単です。

公式mainlineに http_perl_modulenginx-lua モジュールがデフォルトで入るといろいろ助かるのですが、そうなっていなくて残念。

株式会社ハートビーツの技術情報やイベント情報などをお届けする公式ブログです。