Upgrade to Pro — share decks privately, control downloads, hide ads and more …

nginxによる実践的Webシステム / Practical nginx web system

Harukasan
February 08, 2016

nginxによる実践的Webシステム / Practical nginx web system

nginx実践入門出版記念 nginx tech talks
2016-02-08

Harukasan

February 08, 2016
Tweet

More Decks by Harukasan

Other Decks in Technology

Transcript

  1. 5 第1章 nginxの概要とアーキテクチャ 第2章 インストールと起動 第3章 基本設定 第4章 静的なWebサイトの構築 第5章

    安全かつ高速なHTTPSサーバの構築 第6章 Webアプリケーションサーバの構築 第7章 大規模コンテンツ配信サーバの構築 第8章 Webサーバの運用とメトリクスモニタリング 第9章 Luaによるnginxの拡張──Embed Lua into nginx 第10章 OpenResty──nginxベースのWebアプリケーションフレームワーク 殆どの章は 
 サンプルコードがあります
  2. nginxなのかNGINXなのかNginxなのか Preferred variant is "nginx". Sometimes "NGINX" is used, too.

    Use of "Nginx" is discouraged as
 Igor thinks it looks ugly. But, actually, most of us don't really care. — Maxim Dounin - nginxかNGINXがよさそう - nginx.orgはnginx、nginx.comはNGINXになっている 11
  3. 13 最新版の挙動を確認して利用して下さい 本書の動作環境と現時点の最新版 Debian GNU/Linux 変更なし (Jessie) nginx 1.9.10 (1.9.5)

    OpenResty 1.9.7.3 (1.9.3.1) PCRE 8.38 8.37 zlib 変更なし 1.2.8 OpenSSL 1.0.2f 1.0.2d GD 変更なし 2.1.1 Fluentd 0.12.19 0.12.16 最新版 (執筆時)
  4. 2.2 パッケージからのインストール Debian (ch2/2.2-list2.1-sources.list) 
 RHEL/CentOS (ch2/2.2-list2.2-nginx.repo) 16 deb http://nginx.org/packages/mainline/debian/

    jessie nginx deb-src http://nginx.org/packages/mainline/debian/ jessie nginx [nginx] name=nginx repo baseurl=http://nginx.org/packages/mainline/centos/リリース番号/$basearch/ gpgcheck=0 enabled=1
  5. 本書で基本となる設定例 19 user www-data; pid run/nginx.pid; worker_processes 1; pcre_jit on;

    error_log logs/error.log; worker_rlimit_nofile 65535; events { worker_connections 1024; } http { keepalive_timeout 60s; sendfile on; tcp_nopush on; … } (ch3/nginx/3.3-list3.7-nginx.conf, ch3/nginx/3.4-performance_tuning.conf)
  6. server { root /var/www/html; location /images/ { # プレフィックスを指定 root

    /var/www/img; } } locationとrootディレクティブ 23 http://www.example.com/images/logo.png 誤: /var/www/img/logo.png 正: /var/www/img/images/logo.png リクエストURI 返されるファイルパス 表4.1 リスト4.2 locationディレクティブによる設定の例 リスト4.2の設定におけるリクエストURIと返されるファイルパス 正誤情報 (ch4/nginx/4.1-list4.2-location_directive.conf)
  7. rootディレクティブの使い方 - location中にあるせいで挙動がわかりづらい - サンプルコードとしてあんまり良くない例 25 (ch4/nginx/4.1-list4.2-location_directive.conf) server { root

    /var/www/html; location /images/ { # プレフィックスを指定 root /var/www/img; } } リスト4.2 locationディレクティブによる設定の例
  8. ngx_luaのコメント 40 誤: location / { default_type text/plain; content_by_lua ‘

    # レスポンス生成 … # レスポンスを返す ‘; } リスト9.4 log_by_luaディレクティブによるロギング 正: location / { default_type text/plain; content_by_lua ‘ -- レスポンス生成 … -- レスポンスを返す ‘; } 正誤情報
  9. 48 第7章 大規模コンテンツ配信サーバの構築 nginx コンテンツ配信クラスタ HTTPS Application nginx nginx nginx nginx

    nginx nginx nginx アプリケーションサーバ CDN コンテンツ配信ができるようになる
  10. 49 第8章 Webサーバの運用とメトリクスモニタリング nginx コンテンツ配信クラスタ HTTPS Application nginx nginx nginx nginx

    nginx nginx nginx アプリケーションサーバ Fluentd Norikra GrowthForecast ログ解析・運用基盤 CDN メトリクス収集・分析できる
  11. 50 第9, 10章 Luaによるnginxの拡張 nginx コンテンツ配信クラスタ HTTPS Application nginx nginx nginx

    nginx nginx nginx nginx アプリケーションサーバ Fluentd Norikra GrowthForecast ログ解析・運用基盤 CDN Lua Lua Lua Luaが拡張できるようになる