SlideShare a Scribd company logo
1 of 73
Download to read offline
第10回  静岡ITPro勉強会  インフラ部
nginx⼊入⾨門
滝澤  隆史
株式会社ハートビーツ  MSP事業部
所属
    http://heartbeats.jp/
1
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
私は誰
•  ⽒氏名:  滝澤  隆史  @ttkzw
•  所属:  株式会社ハートビーツ
▫  サーバの構築・運⽤用や
24時間365⽇日の有⼈人監視をやっている会社
▫  いわゆるMSP(マネージド  サービス  プロバイ
ダ)
•  nginxとの関わり
▫  所属会社の技術ブログ「nginx連載」
–  http://heartbeats.jp/hbblog/nginx/
▫  Software  Design  2012年年12⽉月号
第2特集「⾼高速・⾼高機能HTTPサーバ  Nginx構築・
設定マニュアル」
2
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
アジェンダ
•  nginxのインストール
•  nginxの設定
•  ウェブアプリケーションとの連携
3
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
本⽇日の勉強会の進め⽅方
•  セミナーではなく勉強会です。
•  随時質問を受け付けます。
•  質問がある⽅方は挙⼿手をお願いします。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
4
5
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
インストール⽅方法
•  nginx公式パッケージ
•  OSやサードパーティのリポジトリ
•  ビルドしてインストール
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
6
nginx公式パッケージ
•  ダウンロードサイト
▫  http://nginx.org/en/download.html
•  対応OS
▫  Windows
▫  Linux
–  RHEL  5,  RHEL  6,  CentOS  5,  CentOS  6
–  Debian  GNU/Linux
–  Ubuntu
•  使い⽅方
▫  リポジトリを登録してyumやapt-‐‑‒getでパッケー
ジをインストール
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
7
OSやサードパーティのリポジトリ
•  Linuxディストリビューション
▫  RHEL/CentOS  -‐‑‒  Fedora  EPEL
▫  Fedora
▫  Debian  GNU/Linux
▫  Ubuntu
▫  Gentoo  Portage
•  *BSD、他
▫  Mac  OS  X  -‐‑‒  homebrew
▫  Mac  OS  X  -‐‑‒  MacPorts
▫  FreeBSD  Ports
▫  NetBSD  Packages  Collection
▫  OpenBSD  Ports
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
8
ほとんどの環境
でパッケージは
存在する。
ビルドしてインストール
•  ビルドする必要があるケース
▫  提供されているパッケージに必要なモジュー
ルが組み込まれていない場合
▫  サードパーティモジュールを追加したい場合
▫  ちょっと古い環境でOpenSSL  1.0.1を使いた
い場合(SPDYやTLS  v1.1,v1.2対応のため)
▫  単にビルドしたい!
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
9
ビルドしてインストール
•  ./configureの時に組み込むモジュールを指定す
る。
▫  オプショナルモジュール
▫  サードパーティモジュール
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
10
./configure 

--with-http_XXXX_module 

--add-module=/path/to/module 

--with-openssl=/path/to/openssl-1.0.1e
ビルドしてインストール
•  configureの例例
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
11
./configure 	
--prefix=/usr/share/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 	
--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-file-aio --with-ipv6 	
--with-http_ssl_module --with-http_spdy_module --with-http_realip_module 	
--with-http_addition_module --with-http_xslt_module 	
--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_stub_status_module 	
--add-module=$HOME/src/ngx_cache_purge-2.1 	
--add-module=$HOME/src/ngx_devel_kit-0.2.18 	
--add-module=$HOME/src/lua-nginx-module-0.8.1 	
--add-module=$HOME/src/modsecurity-apache_2.7.3/nginx/modsecurity	
サードパーティ
モジュール
オプショナル
モジュール
モジュールの確認
•  "nginx  -‐‑‒V"で./configureのオプションが確認で
きる。
•  →オプショナルモジュールとサードパーティモ
ジュールの指定が確認できる。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
12
公式パッケージのインストール例例
CentOS  6の場合
•  公式サイト
▫  http://nginx.org/
•  →  "download"
▫  http://nginx.org/en/download.html
•  →  "Linux  packages  for  stable  version"
▫  http://nginx.org/en/linux_̲packages.html
•  →  "CentOS  6"のリンクのRPMパッケージをインス
トール
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
13
公式パッケージのインストール例例
CentOS  6の場合
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
14
$ sudo yum install http://nginx.org/packages/centos/6/
noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm	
$ sudo yum install nginx	
$ sudo service nginx start
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
15
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
16
設定ファイル
•  設定ファイル
▫  /etc/nginx/nginx.conf
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
17
./configure時に指定
includeディレクティブ
•  設定ファイル中にincludeディレクティブを使う
と他の設定ファイルを読み込むことができる
▫  include  /etc/nginx/conf.d/*.conf;
•  glob対応
▫  "*.conf"の形式が利利⽤用可能
▫  ただし、バージョン1.2.6以前では読む込む
ファイルの順番はソートされない
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
18
src/os/unix/ngx_̲files.c  の  ngx_̲open_̲glob()より
        n = glob((char *) gl->pattern, GLOB_NOSORT, NULL, &gl->pglob);
インストールされる設定ファイル
•  nginx.conf以外にもインストールされる設定
ファイルがある。
▫  $ ls -1 /etc/nginx

fastcgi.conf

fastcgi_params

koi-utf

koi-win

mime.types

nginx.conf

scgi_params

uwsgi_params

win-utf	
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
19
インストールされる設定ファイル
ファイル名 説明
mime.types MIMEタイプと拡張⼦子の関連付けを定義したファイル。
fastcgi_̲params FastCGI⽤用の変数を定義するファイル。
fastcgi_̲paramディレクティブの設定集。
fastcgi.conf fastcgi_̲paramsと同じ。
パッケージによっては同梱されない場合もある。
scgi_̲params SCGI⽤用の変数を定義するファイル。
scgi_̲paramディレクティブによる設定集。
uwsgi_̲params uWSGI⽤用の変数を定義するファイル。
uwsgi_̲paramディレクティブによる設定集。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
20
インストールされる設定ファイル
ファイル名 説明
koi-‐‑‒utf ロシア語の⽂文字エンコーディングkoi8-‐‑‒rとUTF-‐‑‒8の⽂文字
コードのマッピングを⾏行行うファイル。
koi-‐‑‒win ロシア語の⽂文字エンコーディングwindows-‐‑‒1251とUTF-‐‑‒8
の⽂文字コードのマッピングを⾏行行うファイル。
win-‐‑‒utf ロシア語の⽂文字エンコーディングwindows-‐‑‒1251とUTF-‐‑‒8
の⽂文字コードのマッピングを⾏行行うファイル。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
21
この3つのファイルは通常は使わない。
ロシア語の⽂文字エンコーディングの変換
を⾏行行う場合のみ利利⽤用。
インストールされる設定ファイル
•  ファイル名は特別な意味はない。
•  利利⽤用するには
▫  設定ファイルからincludeディレクティブによ
りこのファイル名を指定して読み込む
▫  例例
–  include /etc/nginx/mime.types;	
–  include mime.types;
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
22
nginx.confファイルのある
ディレクトリからの相対パス
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
23
ディレクティブ
•  設定ファイルにディレクティブ(設定の命令令)
を書くことにより設定を⾏行行う。
•  ディレクティブをどこにでも書けるわけではな
い。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
24
events {	
	
}	
	
http {	
	
server {	
	
location URI_PATH {	
	
	
}	
location URI_PATH {	
...	
}	
...	
}	
	
server {	
...	
}	
}	 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
25
mainコンテキスト
eventsコンテキスト
httpコンテキスト
serverコンテキスト
locationコンテキスト
主にプロセスの制御に関する設定
接続処理理に関する設定
HTTPサーバ全体の設定
バーチャルホスト毎の設定
URI毎の設定
nginx.conf
ディレクティブ毎に記述できる
コンテキストが決まっている。
www.example.org.conf
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
26
	
events {	
	
}	
	
http {	
	
	
include conf.d/*.conf
}	
mainコンテキスト
eventsコンテキスト
httpコンテキスト
server {	
	
location URI_PATH {	
	
	
}	
location URI_PATH {	
...	
}	
...	
}	
serverコンテキスト
locationコンテキスト
server {	
	
location URI_PATH {	
	
	
}	
location URI_PATH {	
...	
}	
...	
}	
serverコンテキスト
locationコンテキスト
nginx.conf
www.example.jp.conf
バーチャルサーバ毎の設定を
別ファイルにできる。
設定ファイルを書いてみよう
•  設定ファイルのサンプルを⾒見見ながら設定ファイ
ルを書いてみよう。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
27
user nginx;	
	
worker_processes auto;	
	
worker_rlimit_nofile 2048;	
	
	
error_log /var/log/nginx/error.log warn;	
	
	
pid /var/run/nginx.pid;	
mainコンテキスト
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
28
workerプロセスの実⾏行行権限のユーザー
workerのプロセス数。
CPUのコア数を指定するとよい。
1.2.5以降降で"auto"を指定可能。
エラーログの出⼒力力先とロギングレベル。
masterプロセスのプロセスIDを保存
するファイル。
$ ps auxf	
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND	
root 27593 0.0 2.4 137552 24772 ? Ss 01:06 0:00 nginx: master process	
nginx 27594 0.0 2.5 137880 25624 ? S 01:06 0:00 _ nginx: worker process
nginx 27595 0.0 2.5 137880 25624 ? S 01:06 0:00 _ nginx: worker process
ファイルオープン数。
worker_connectionsの値以上を設定する。
events {	
worker_connections 1024;	
}	
eventsコンテキスト
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
29
⼀一つのworkerプロセスが同時に処理理でき
る最⼤大コネクション数。
リバースプロキシーとして動作する場合
はバックエンドとの接続数も含む。
デフォルト値は512。
http {	
	
include /etc/nginx/mime.types;	
	
	
	
default_type application/octet-stream;	
	
	
log_format main '$remote_addr - $remote_user [$time_local] "$request" '	
'$status $body_bytes_sent "$http_referer" '	
'"$http_user_agent" "$http_x_forwarded_for"';	
	
access_log /var/log/nginx/access.log main;	
	
httpコンテキスト、その1
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
30
MIMEタイプの定義集を読み込む。
レスポンスのデフォルトのMIMEタイプ。
デフォルトはtext/plain
アクセスログの書式の定義。
アクセスログの出⼒力力先パスと書式名。
デフォルトの書式名は"combined"(apacheでよく使われるログの書式)
sendfile on;	
	
	
tcp_nopush on;	
	
	
keepalive_timeout 5;	
	
	
gzip on;	
gzip_types text/plain text/css application/json
application/x-javascript text/xml application/xml
application/xml+rss text/javascript;	
	
include /etc/nginx/conf.d/*.conf;	
}	
	
httpコンテキスト、その2
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
31
コンテンツのファイルの読み込みとクライアント
へのレスポンスの送信にsendfile()  APIを使うか
sendfileが有効なときにTCP_̲NOPUSHソケット
オプション(FreeBSD)やTCP_̲CORKソケット
オプション(Linux)を使うか。
キープアライブのタイムアウトの秒数。
デフォルトは75。
レスポンスのコンテンツを圧縮するか。
バーチャルホストの設定ファイル読み込み
server {	
	
listen 80;	
	
server_name example.jp;	
	
root /var/www/html;	
	
index index.html index.php;	
	
location / {	
	
}	
location /images/ {	
alias /var/www/images/;	
}	
}	
serverコンテキスト
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
32
リクエストを受け付けるIPアドレスやポート番号
バーチャルホストの名前
バーチャルホスト(バーチャルサーバ)毎
の設定を記述する。
ドキュメントルート
URIパス毎の設定
パスが"/"で終わる場合に表⽰示す
るファイル。
locationディレクティブで指定した
URIのパスをファイルシステム上
のパスに対応
listenディレクティブ
•  記述⽅方法
▫  listen  IPアドレス:ポート番号  オプション;
– IPアドレスのデフォルト値:  *
– ポート番号のデフォルト値:  80
– 主なオプション
– default_̲server
– ssl
– spdy
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
33
listenディレクティブ
•  記述例例
▫  インターフェイスすべて
–  listen *:80;	
–  listen 80;	
–  listen *;	
▫  IPv4
–  listen 192.0.2.1:80;	
–  listen 192.0.2.1;
▫  IPv6
–  listen [2001:db8:dead:beef::1]:80;
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
34
listenディレクティブ
•  記述例例
▫  SSL/TLS
–  listen 443 ssl;	
–  listen 192.0.2.1:443 ssl;	
–  listen [2001:db8:dead:beef::1]:443 ssl;	
▫  SPDY
–  listen 443 ssl spdy;	
–  listen 192.0.2.1:443 ssl spdy;	
–  listen [2001:db8:dead:beef::1]:443 ssl spdy;
▫  デフォルトサーバ
–  listen 80 default_server;	
–  listen 443 default_server ssl;	
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
35
デフォルトサーバを指定しない
と、最初に⾒見見つかったサーバが
デフォルトサーバになる。
server_̲nameディレクティブ
•  記述⽅方法
▫  server_̲name  サーバ名  ...;
– デフォルト値:  ""
– ""はHostヘッダのないリクエストに対応
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
36
server_̲nameディレクティブ
•  記述例例
▫  server_̲name  example.com;
▫  server_̲name  example.com  www.example.com;
▫  server_̲name  *.example.com;
▫  server_̲name  .example.com;
▫  server_̲name  ~∼^wwwd+.example.com$;
▫  server_̲name  "";
▫  server_̲name  _̲;
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
37
Hostヘッダなし
サーバ名に利利⽤用できない⽂文字なので、
デフォルトサーバにする場合に利利⽤用。
正規表現
部分⼀一致
部分⼀一致
server {	
listen 192.0.2.1:80;	
listen 192.0.2.1:443 ssl;	
server_name example.jp;	
....	
}	
	
server {	
listen 192.0.2.2:80;	
listen 192.0.2.2:443 ssl;	
server_name www.example.org;	
....	
}	
	
IPベースのバーチャルホストの記述例例
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
38
設定はSSL/TLSと併⽤用できる。
example.jp
www.example.org
SSL/TLS対応にするときには、
SNI(Server  Name  Indication)⾮非対応の
ウェブブラウザが残っている限りは
IPベースのバーチャルホストにする必要あり。
SNI対応になれば名前ベースでよいのですが。
server {	
listen 80 default_server;	
server_name _;	
....	
}	
	
server {	
listen 80;	
server_name example.jp www.example.jp;	
....	
}	
	
server {	
listen 80;	
listen 443 ssl;	
server_name www.example.org;	
....	
}	
名前ベースのバーチャルホストの記述例例
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
39
設定はSSL/TLSと
併⽤用できる。
example.jp
www.example.org
デフォルトサーバ 名前ベースのバーチャルホスト
の場合はデフォルトサーバを明
⽰示的に設定し、誘導ページやエ
ラーページなどを表⽰示させる。
そうしないと、クライアントが
想定外のバーチャルホストの
ページに接続してしまうことが
発⽣生する。
$ nginx -V 2>&1 | grep SNI	
TLS SNI support enabled
SSL/TLS対応の複数の
バーチャルホストを設定
する場合にはnginxのSNI
対応が必要。
SSL/TLS
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
40
server {	
listen 443 ssl spdy;	
server_name example.jp;	
	
	
ssl_certificate /etc/nginx/cert.pem;	
ssl_certificate_key /etc/nginx/cert.key;	
	
	
	
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;	
ssl_ciphers HIGH:!aNULL:!MD5;	
ssl_prefer_server_ciphers on;	
	
ssl_session_cache shared:SSL:10m;	
ssl_session_timeout 10m;	
}	
	
SSL/TLS対応
サーバ証明書、中間証明書
をこの順に1つのファイルに。
プライベート鍵
サーバ証明書のCNと同じ名前
SSL/TLSプロトコルバージョン
(TLSv1.1,TLSv1.2はOpenSSL  1.0.1以降降)
暗号スイート
openssl  ciphers  cipherlist    '暗号スイート'  -‐‑‒v
セッションキャッシュ
SPDY対応
(nginx  1.4.0以降降、OpenSSL  1.0.1以降降)
server {	
	
listen 80;	
	
server_name example.jp;	
	
root /var/www/html;	
	
index index.html index.php;	
	
location / {	
	
}	
location /images/ {	
alias /var/www/images/;	
}	
}	
serverコンテキスト(再掲)
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
41
リクエストを受け付けるIPアドレスやポート番号
バーチャルホストの名前
バーチャルホスト(バーチャルサーバ)毎
の設定を記述する。
ドキュメントルート
URIパス毎の設定
パスが"/"で終わる場合に表⽰示す
るファイル。
locationディレクティブで指定した
URIのパスをファイルシステム上
のパスに対応
location  –  パス毎の設定
•  記述⽅方法
▫  location  プレフィックス  URIのパス  {
        locationコンテキスト
}
プレフィックス 評価⽅方法 説明
なし 前⽅方⼀一致
^~∼ 前⽅方⼀一致 評価を確定し、正規表現の評価を⾏行行わない。
= 前⽅方⼀一致 パス名が等しい場合(完全⼀一致)。
評価を確定し、正規表現の評価を⾏行行わない。
~∼ 正規表現 ⼤大⽂文字・⼩小⽂文字を区別する。
~∼* 正規表現 ⼤大⽂文字・⼩小⽂文字を区別しない。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
42
②正規表現(プレフィックスが"~∼",  "~∼*")の評価
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
43
①前⽅方⼀一致(プレフィックスが"=",  "^~∼",  なし)の評価
URIのパスが最⻑⾧長⼀一致するlocationを選定する。
(プレフィックスが"="であるものを優先)
選定したlocationが完全⼀一致でプレフィックスが"="である。
選定したlocationのプレフィックスが"^~∼"である。
正規表現のlocationを設定ファイルの出現順に評価する。
評
価
の
確
定
お
よ
び
終
了了
③前⽅方⼀一致の評価で選定されたlocationで評価を確定する。
正規表現に⼀一致する。
yes
yes
yes
no
no
no
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
44
location / {	
[location A]	
}	
	
location /example/ {	
[location B]	
}	
どのlocationが適応される?
/example/page.html
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
45
location / {	
[location A]	
}	
	
location /example/ {	
[location B]	
}	
どのlocationが適応される?
/example/page.html
前⽅方⼀一致の評価で最⻑⾧長⼀一致
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
46
location / {	
[location A]	
}	
	
location = / {	
[location B]	
}	
	
location = /page.html {	
[location C]	
}	
	
どのlocationが適応される?
/
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
47
location / {	
[location A]	
}	
	
location = / {	
[location B]	
}	
	
location = /page.html {	
[location C]	
}	
	
どのlocationが適応される?
/
前⽅方⼀一致の評価で完全⼀一致。
プレフィックス"="により評価
が確定。
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
48
location / {	
[location A]	
}	
	
location = / {	
[location B]	
}	
	
location = /page.html {	
[location C]	
}	
	
どのlocationが適応される?
/page.html
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
49
location / {	
[location A]	
}	
	
location = / {	
[location B]	
}	
	
location = /page.html {	
[location C]	
}	
	
どのlocationが適応される?
/page.html
前⽅方⼀一致の評価で完全⼀一致。
プレフィックス"="により
評価が確定。
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
50
location / {	
[location A]	
}	
	
location /example/page.html {	
[location B]	
}	
	
location ~ ^/example/ {	
[location C]	
}	
どのlocationが適応される?
/example/page.html
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
51
location / {	
[location A]	
}	
	
location /example/page.html {	
[location B]	
}	
	
location ~ ^/example/ {	
[location C]	
}	
どのlocationが適応される?
/example/page.html
正規表現の評価に⼀一致。
評価が確定。
前⽅方⼀一致の評価で最⻑⾧長⼀一致。
プレフィックスなしのため
評価は確定しない。
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
52
location / {	
[location A]	
}	
	
location ^~ /example/page.html {	
[location B]	
}	
	
location ~ ^/example/ {	
[location C]	
}	
どのlocationが適応される?
/example/page.html
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
53
location / {	
[location A]	
}	
	
location ^~ /example/page.html {	
[location B]	
}	
	
location ~ ^/example/ {	
[location C]	
}	
どのlocationが適応される?
/example/page.html
前⽅方⼀一致の評価で最⻑⾧長⼀一致。
プレフィックス"^~∼"により
評価が確定。
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
54
location / {	
[location A]	
}	
	
location /example/ {	
[location B]	
}	
	
location ~ .php$ {	
[location C]	
}	
	
location ~ ^/example/.+.php$ {	
[location D]	
}	
どのlocationが適応される?
/example/index.php
locationのURIパスの評価
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
55
location / {	
[location A]	
}	
	
location /example/ {	
[location B]	
}	
	
location ~ .php$ {	
[location C]	
}	
	
location ~ ^/example/.+.php$ {	
[location D]	
}	
どのlocationが適応される?
/example/index.php
正規表現の評価は出現順。
正規表現の評価に⼀一致。
評価が確定。
前⽅方⼀一致の評価で最⻑⾧長⼀一致。
プレフィックスなしのため
評価は確定しない。
rootとalias
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
56
root /var/www/html;	
	
location ~ ^/.+.(?:gif|jpg|png)$ {	
root /var/www/images;	
}	
	
	
location /s/ {	
alias /var/www/s/html/;	
}	
	
location ~ ^/s/(.+.(?:gif|jpg|png)$) {	
alias /var/www/s/images/$1;	
}	
ドキュメントルート
locationが正規表現で評価された場
合にグルーピングに⼀一致した⽂文字列列
は後⽅方参照できる。
aliasディレクティブ:
locationディレクティブで指定した
URIのパスをファイルシステム上の
パスに対応
rootディレクティブはlocationコ
ンテキストにも記述できる。
locationのパスは"/var/www/
images/画像ファイル"に対応す
る。
rootとalias
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
57
	
	
root /var/www/html;	
	
	
location ~ ^/.+.(?:gif|jpg|png)$ {	
root /var/www/images;	
}	
	
	
location /s/ {	
alias /var/www/s/html/;	
}	
	
	
location ~ ^/s/(.+.(?:gif|jpg|png)$) {	
alias /var/www/s/images/$1;	
}	
①  /page.html
②  /file.jpg
③  /s/page.html
④  /s/file.jpg
ファイルシステム上のパスは?
rootとalias
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
58
	
	
root /var/www/html;	
	
	
location ~ ^/.+.(?:gif|jpg|png)$ {	
root /var/www/images;	
}	
	
	
location /s/ {	
alias /var/www/s/html/;	
}	
	
	
location ~ ^/s/(.+.(?:gif|jpg|png)$) {	
alias /var/www/s/images/$1;	
}	
①  /page.html
②  /file.jpg
③  /s/page.html
④  /s/file.jpg
ファイルシステム上のパスは?
/var/www/html/page.html
/var/www/images/file.jpg
/var/www/s/html/page.html
/var/www/s/images/file.jpg
location /s/ {	
root /var/www/html/;	
}	
	
rootとalias
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
59
location /s/ {	
alias /var/www/html/s/;	
}	
URIのパスがファイルシステムのパ
スと⼀一致している場合はrootで書
き直した⽅方がわかりやすい。
アクセス制御、ベーシック認証
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
60
location ~ ^/admin/ {	
satisfy any;	
	
allow 127.0.0.1;	
allow ::1;	
allow 192.0.2.1;	
allow 2001:db8:dead:beef::1;	
deny all;	
	
auth_basic on;	
auth_basic_user_file auth/htpasswd-admin;	
}	
	
location ~ /. {	
deny all;	
log_not_found off;	
access_log off;	
}
ログ出⼒力力の抑制
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
61
location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {	
log_not_found off;	
access_log off;	
}	
	
location = /favicon.ico {	
log_not_found off;	
access_log off;	
}	
	
location = /robots.txt {	
log_not_found off;	
access_log off;	
}
•  以上の設定パラメータで静的ファイルのウェブ
サーバは運⽤用できる。
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
62
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
63
Webアプリケーションとの連携
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
64
Webブラウザ nginx
Web
アプリケーション
サーバ
http(s)
http(s)
FastCGI
SCGI
uWSGI
Webアプリ
Webアプリケーションサーバに対する
プロキシーサーバとして動作。
機能分担
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
65
Webブラウザ
nginx Web
アプリケーション
サーバ
動的コンテンツSSL/TLS処理理
静的コンテンツ
静的コンテンツはnginxが返し、
動的コンテンツはWebアプリケーション
サーバに対するプロキシーとして処理理する。
nginx側でSSL/TLSのオフロード処理理。
負荷分散
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
66
Webブラウザ nginx
リクエスト分散。
加重ラウンドロビン。
Web
アプリケーション
サーバ
Web
アプリケーション
サーバ
Web
アプリケーション
サーバ
基本的なパターン
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
67
location / {	
try_files $uri $uri/ @webapp;	
}	
	
	
location /images/ {	
root /var/www/html/webapps;	
}	
	
location @webapp {	
proxy_pass http://127.0.0.1:8080/;	
}	
	
	
location ~ .cgi$ {	
proxy_pass http://127.0.0.1:8080/;	
}	
	
指定したURIパスがあればそれ
を返し、なければ最後に記述し
たURIに内部リダイレクトする。
動的コンテンツ。
PATH_̲INFO形式と判断し、
バックエンドに渡す。
静的コンテンツ
バックエンドURI
動的コンテンツ
バックエンドURI
静的コンテンツ
名前付きロケーション。
内部リダイレクト⽤用に使⽤用。
基本的なパターン
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
68
upstream backend {	
ip_hash;	
server backend1.example.jp:8080 weight=5;	
server backend2.example.jp:8080;	
server unix:/var/run/backend.sock;	
}	
	
server {	
location / {	
try_files $uri $uri/ @webapp;	
}	
location @webapp {	
proxy_pass backend;	
}	
location ~ .cgi$ {	
proxy_pass backend;	
}	
}	
バックエンドの細かい制御
をしたいときにはupstream
の設定を⾏行行う。
名前付きロケーション。
内部リダイレクト⽤用に使⽤用。
proxy
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
69
location /webapp/ {	
proxy_pass http://192.0.2.1:8080/;	
	
proxy_set_header Host $host;	
proxy_set_header X-Forwarded-Host $host;	
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;	
	
	
	
	
proxy_redirect off;	
}	
バックエンドサーバのURI
バックエンドサーバに渡す
情報をHTTPのヘッダとして
付与。
FastCGI
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
70
location ~ .php$ {	
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;	
	
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;	
	
	
	
	
include /etc/nginx/fastcgi_params;	
}	
バックエンドサーバの
URIまたはソケット
FastCGIサーバに渡す
ファイル名
fastcgi_̲paramの共通設定を
記述した設定ファイルの読み
込み。
[uwsgi]	
master = true	
workers = 5	
no-orphans = true	
pidfile = /var/run/uwsgi/uwsgi.pid	
socket = /var/run/uwsgi/uwsgi.sock	
chmod-socket = 660	
uid = nginx	
gid = nginx	
cgi = /mt=/var/www/cgi-bin/mt	
cgi-allowed-ext = .cgi	
uWSGI  +  CGI
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
71
location ~ .cgi$ {	
uwsgi_pass unix:/var/run/uwsgi/uwsgi.sock;	
	
uwsgi_modifier1 9;	
	
include /etc/nginx/uwsgi_params;	
}	
	
	
	
バックエンドサーバの
URIまたはソケット
uwsgiプロトコルのパケットヘッダの
modifier1の値。
WSGI:  0、PSGI:  5、CGI:  9
uwsgi_̲paramの共通設定を記
述した設定ファイルの読み込み。
/etc/uwsgi.ini
uWSGI  +PSGI
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
72
location ~ .cgi$ {	
uwsgi_pass unix:/var/run/uwsgi/uwsgi.sock;	
	
	
uwsgi_modifier1 5;	
	
	
uwsgi_param UWSGI_APPID mt;	
uwsgi_param UWSGI_SCRIPT mt.psgi;	
	
include /etc/nginx/uwsgi_params;	
}	
	
	
	
バックエンドサーバの
URIまたはソケット
uwsgiプロトコルのパケットヘッダの
modifier1の値。
WSGI:  0、PSGI:  5、CGI:  9
uwsgi_̲paramの共通設定を記
述した設定ファイルの読み込み。
[uwsgi]	
中略略	
psgi	
chdir = /var/www/cgi-bin/mt	
mount = mt=mt.psgi	
	
/etc/uwsgi.ini
uWSGIに渡すパラメータ
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
73

More Related Content

What's hot

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれKumazaki Hiroki
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)Takanori Sejima
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Masahito Zembutsu
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)Yoshitaka Kawashima
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 

What's hot (20)

AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
nginxの紹介
nginxの紹介nginxの紹介
nginxの紹介
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
 
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
 
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 

Similar to nginx入門

The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)Kimihiko Kitase
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefnpsg
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-賢 秋穂
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX, Inc.
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) Akihiro Kuwano
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」Takaaki Suzuki
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコシステムズ合同会社
 
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でSnr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でTech Summit 2016
 
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)The Twelve-Factor App (2017)
The Twelve-Factor App (2017)Kihyun Kim
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminarSix Apart
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストールYasuhiro Arai
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤Masahiro Kiura
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Yasuhiro Arai
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Kikunaga Taishi
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINX, Inc.
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発Yuta Matsumura
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Tetsuya Odashima
 
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)NGINX, Inc.
 

Similar to nginx入門 (20)

The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
 
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
 
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
 
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい) 泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
 
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
 
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
 
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務でSnr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務で
 
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)The Twelve-Factor App (2017)
The Twelve-Factor App (2017)
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
 
Apache cloudstack4.0インストール
Apache cloudstack4.0インストールApache cloudstack4.0インストール
Apache cloudstack4.0インストール
 
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
 
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
 
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
 
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
 
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
 
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所
 
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)NGINX Back to Basic 2 Part 2 (Japanese Webinar)
NGINX Back to Basic 2 Part 2 (Japanese Webinar)
 
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
 

More from Takashi Takizawa

DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)Takashi Takizawa
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料Takashi Takizawa
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)Takashi Takizawa
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Takashi Takizawa
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Takashi Takizawa
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -Takashi Takizawa
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)Takashi Takizawa
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門Takashi Takizawa
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)Takashi Takizawa
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Takashi Takizawa
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証Takashi Takizawa
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門Takashi Takizawa
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史Takashi Takizawa
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介Takashi Takizawa
 
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinhbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinTakashi Takizawa
 

More from Takashi Takizawa (20)

DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
 
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料
 
BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)BIND of Summer (2017-04-13)
BIND of Summer (2017-04-13)
 
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2014 Tokyo/Spring)
 
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
 
RFCについての復習
RFCについての復習RFCについての復習
RFCについての復習
 
DNS RFC系統図
DNS RFC系統図DNS RFC系統図
DNS RFC系統図
 
DNSのRFCの歩き方
DNSのRFCの歩き方DNSのRFCの歩き方
DNSのRFCの歩き方
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
 
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
 
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
 
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
 
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
 
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
 
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
 
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史
 
DNS再入門
DNS再入門DNS再入門
DNS再入門
 
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
 
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassinhbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassin
 

nginx入門