Your SlideShare is downloading. ×
0
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Nginx-201501-201506
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Nginx-201501-201506

134

Published on

社内勉強会の資料 …

社内勉強会の資料
前回の資料: http://www.slideshare.net/narimichitakamura/nginx-201401201412

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
134
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Nginx&バージョンアップ動向 2015/01&∼&2015/06 TAKAMURA'Narimichi(@nari_ex) 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 1
  • 2. バージョンアップ動向 • 前回発表時点からの更新分を追いかけました • 2015/01(v1.7.10)∼*2015/06(v1.9.2) • Change,*Feature,*Bugfix*に注目 • (proxy|fastcgi|scgi)_hoge*みたいなパラメータは*proxy* のみ記載 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 2
  • 3. Nginx&1.7.10(2014-02-10)&その1 • Feature • use_temp_path(が(proxy_cache_path(などで利用可能 • キャッシュ作成時の一時ファイルのパス • on(または(off(を指定 • proxy_temp_path(などで具体的なパスを指定する 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 3
  • 4. use_temp_path!の設定例 proxy_cache_path /data/nginx/cache use_temp_path=on; proxy_temp_path /data/nginx/tmp • キャッシュ作成は一時ファイルに書き込んだあと、そのファイ ルをキャッシュ保存先のパスへ移動することで行われる • 移動元と移動先のファイルシステムが異なる場合、リネーム ではなくコピー処理になるので注意 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 4
  • 5. Nginx&1.7.10(2014-02-10)&その2 • Feature • upstream_header_time(変数 • upstream(サーバから応答ヘッダを受け取るまでの時間 • lua(や(mruby(拡張を用いて、n(秒以上応答ヘッダを返さな い(upstream(サーバを切り離す処理とかが実現できそう 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 5
  • 6. Nginx&1.7.11(2015-03-24)&その1 • Change • aio sendfile;(が非推奨(deprecated) • aioとsendfileディレクティブを両方使った場合、非同期 ファイル(I/O(時のsendfile()呼び出しの際に読みを行う 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 6
  • 7. Nginx&1.7.11(2015-03-24)&その2 • Feature • スレッドプールをサポート(experimental) • メールプロキシがクライアント.SSL.をサポート • proxy_request_buffering!追加 • リクエストボディのバッファリングのON・OFF切り替え 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 7
  • 8. proxy_request_buffering!の設定例 client_max_body_size 50m; server { listen 80; location /upload { proxy_request_buffering off; ... } } ※!設定次第では強制的にONになることがあるので注意!1 1 "nginxのリクエストボディのバッファリングに関する問題とその改善策 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 8
  • 9. Nginx&1.7.11(2015-03-24)&その3 • Feature • リクエストボディフィルターAPI(experimental) • Bugfix • LibreSSL7を利用した場合に7SSLv37が利用できない問題を修正 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 9
  • 10. Nginx&1.7.12(2015-04-07)&その1 • Feature • tcp_nodelay(がバックエンドとのSSLコネクション時にも 動作する • スレッドプールがキャッシュ読み込み時に利用される ※(スレッドプールは9倍速くなるらしい2 2 "Thread"Pools"in"NGINX"Boost"Performance"9x! 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 10
  • 11. Nginx&1.7.12(2015-04-07)&その2 • Bugfix • Linux*でスレッドプール利用時にSegmenta0on*Faultする問題 を修正 • ngx_http_spdy_module*のバグ修正 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 11
  • 12. Nginx&1.9.0(2015-04-28)&その1 • Change • aio(と(rtsig(イベントメソッドが削除された • rtsig(とは(librt(を用いた非同期処理の手法 • upstream!ブロック内で!zoneディレクティブが利用可能 • アップストリームを各ワーカープロセス間で共有できる 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 12
  • 13. upstream!ブロック内で!zone!ディレクティブを使う upstream backends { zone zone_for_backends 64k; server 127.0.0.1:8000; server 127.0.0.1:8001; server 127.0.0.1:8002; ... } 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 13
  • 14. Nginx&1.9.0(2015-04-28)&その2 • Feature • ngx_stream_core_module!モジュールが新たに利用可能 • ngx_http_memcached_module(が(byte(ranges(request3 (を サポート 3 "14"Header"Field"Defini0ons 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 14
  • 15. ngx_stream_core_module!モジュールの利用例 TCP$Load$Balancing$ができる$→$HA$Proxy$などの代替になるかも stream { upstream backend { hash $remote_addr consistent; server backend1.example.com:12345 weight=5; server 127.0.0.1:12345 max_fails=3 fail_timeout=30s; server unix:/tmp/backend3; } } 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 15
  • 16. Nginx&1.9.1(2015-05-26)&その1 • Change • SSLv3%がデフォルトで%disabled • 長い間非推奨だったいくつかのディレクティブが利用不可4 • 具体的なディレクティブ書いてなくて怖い • connections)は利用できなくなった様子 4 "Removed"the"deprecated""connec1ons""direc1ve. 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 16
  • 17. Nginx&1.9.1(2015-05-26)&その2 • Feature • reuseport!が!listen!ディレクティブで利用可能 • upstream_connect_time(変数が利用可能に 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 17
  • 18. reuseport!の設定例 Linux&Kernel&3.9&からサポートされた&SO_REUSEPORT4 &を利用す る listen 443 ssl spdy reuseport; Linux&の場合は難あり(DragonFly&BSDはOKとのこと)5 &6 6 "changeset"6153:4f6efabcb09b 5 "Merge"branch"'soreuseport' 4 "Removed"the"deprecated""connec1ons""direc1ve. 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 18
  • 19. Nginx&1.9.2(2015-06-16)&その1 • Feature • backlog(パラメータが(mail(proxy(と(stream(モジュールにお ける(listen(ディレクティブで利用可能に • backlog=numberはバックログキューの長さを指定する パラメータ 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 19
  • 20. Nginx&1.9.2(2015-06-16)&その2 • Feature • stream*モジュールで以下の機能が利用可能 • allow,*deny*ディレクティブ(アクセス制御) • proxy_bind*ディレクティブ(アドレス変換) • proxy_protocol*ディレクティブ(ProxyProtocolサポー ト) 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 20
  • 21. Nginx&1.9.2(2015-06-16)&その3 • Feature • nginx(コマンドに(-T(オプションが追加 • コンフィグテスト実施後、設定ファイルをダンプする • ちなみに既存の(-t(はコンフィグテストのみ行う 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 21
  • 22. Nginx&1.9.2(2015-06-16)&その4 • Bugfix • reuseport'が正常に動作しない問題を解決 • OCSP'stapling'利用時にいくつかのケースにおいて有効期限が 切れたOCSPレスポンスを返す問題を解決 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 22
  • 23. 感想!その1 • アツいと感じた変更点 • デフォルト"SSLv3"無効化 • upstream"内で"zone"が使える • stream"モジュール • OCSP"stapling"で期限切れレスポンス返しちゃうバグの解消 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 23
  • 24. 感想!その2 • 「新機能リリース」"→"「直後に"Bugfix」の流れが多いので新機 能をすぐに利用する場合は要注意 • nginx -T"はだれかが る予感 • ngx_http_spdy_module"のバグ修正の頻度が減ってきた 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 24
  • 25. おしまい 2015/06/22'社内プロダクト勉強会'('TAKAMURA'Narimichi 25

×