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

Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いota42y
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRecruit Technologies
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallAtsushi Tanaka
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadogNaoya Nakazawa
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」Takuto Wada
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話Yuta Shimada
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションMasahiko Sawada
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル貴志 上坂
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門Kohei Tokunaga
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方Recruit Lifestyle Co., Ltd.
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話Koichiro Matsuoka
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!kwatch
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようShohei Okada
 

What's hot (20)

分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
マイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦いマイクロサービスにおける 結果整合性との戦い
マイクロサービスにおける 結果整合性との戦い
 
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけRDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
 
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/FallZabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
Zabbix最新情報 ~Zabbix 6.0に向けて~ @OSC2021 Online/Fall
 
はじめての datadog
はじめての datadogはじめての datadog
はじめての datadog
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
Azure API Management 俺的マニュアル
Azure API Management 俺的マニュアルAzure API Management 俺的マニュアル
Azure API Management 俺的マニュアル
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方分散トレーシングAWS:X-Rayとの上手い付き合い方
分散トレーシングAWS:X-Rayとの上手い付き合い方
 
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話DDD x CQRS   更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしようPHP-FPM の子プロセス制御方法と設定をおさらいしよう
PHP-FPM の子プロセス制御方法と設定をおさらいしよう
 

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)

nginxの紹介
nginxの紹介nginxの紹介
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)
 
ネットワークエンジニアのための 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)
 

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
 

Recently uploaded

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計atsushi061452
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイントonozaty
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose EstimationToru Tamaki
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521Satoshi Makita
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdfAyachika Kitazaki
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)keikoitakurag
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員Sadaomi Nishi
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一瑛一 西口
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑Akihiro Kadohata
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayersToru Tamaki
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdkokinagano2
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )iwashiira2ctf
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperleger Tokyo Meetup
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (14)

研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
 
情報を表現するときのポイント
情報を表現するときのポイント情報を表現するときのポイント
情報を表現するときのポイント
 
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
 
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
 
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
 
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
 
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
 
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltdKeywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
 
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
 
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
 
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
 

nginx入門