Submit Search
Upload
nginx入門
•
163 likes
•
53,796 views
Takashi Takizawa
Follow
第10回静岡ITPro勉強会インフラ部 「nginx入門」資料
Read less
Read more
Technology
Report
Share
Report
Share
1 of 73
Download now
Download to read offline
Recommended
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Recommended
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
イベント・ソーシングを知る
イベント・ソーシングを知る
Shuhei Fujita
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
Tetsutaro Watanabe
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
nginxの紹介
nginxの紹介
Takashi Takizawa
[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 Online
Google Cloud Platform - Japan
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
Masahito Zembutsu
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
Kimihiko Kitase
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
More Related Content
What's hot
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
nginxの紹介
nginxの紹介
Takashi Takizawa
[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 Online
Google Cloud Platform - Japan
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
Masahiko Sawada
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
Takanori Sejima
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
Masahito Zembutsu
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
yoku0825
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
NTT DATA OSS Professional Services
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Shota Shinogi
What's hot
(20)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
nginxの紹介
nginxの紹介
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
GKE に飛んでくるトラフィックを 自由自在に操る力 | 第 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 発表資料)
分散システムについて語らせてくれ
分散システムについて語らせてくれ
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
MQTTとAMQPと.NET
MQTTとAMQPと.NET
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Re: ゼロから始める監視設計
Re: ゼロから始める監視設計
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
DockerとPodmanの比較
DockerとPodmanの比較
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
ネットストーカー御用達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)
Kimihiko Kitase
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
npsg
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
賢 秋穂
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
Microsoft Tech Summit 2017
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
NGINX, Inc.
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
Akihiro Kuwano
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
Takaaki Suzuki
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコシステムズ合同会社
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務で
Tech Summit 2016
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)
Kihyun Kim
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
Six Apart
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
Yasuhiro Arai
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Masahiro Kiura
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
Yasuhiro Arai
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
Kikunaga Taishi
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINX, Inc.
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Yuta Matsumura
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, Inc.
No SSH (@nojima; KMC関東例会)
No SSH (@nojima; KMC関東例会)
京大 マイコンクラブ
Similar to nginx入門
(20)
The road of Apache CloudStack Contributor (Translation and Patch)
The road of Apache CloudStack Contributor (Translation and Patch)
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
テスト駆動インフラ構築-Chefとserverspecを使ったインフラ自動化のすすめ-
[Japan Tech summit 2017] DEP 005
[Japan Tech summit 2017] DEP 005
NGINX製品の最新機能アップデート情報
NGINX製品の最新機能アップデート情報
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
泥臭い運用から、プログラマブルインフラ構築(に行きたい)
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
NGINX東京ハッピーアワー「DevOpsプラクティスによるクラウドでのKubernetesの利用」
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
シスコ装置を使い倒す!組込み機能による可視化からセキュリティ強化
Snr001 azure iaa_s_応用編~実務で
Snr001 azure iaa_s_応用編~実務で
The Twelve-Factor App (2017)
The Twelve-Factor App (2017)
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
Apache cloudstack4.0インストール
Apache cloudstack4.0インストール
認証/認可が実現する安全で高速分析可能な分析処理基盤
認証/認可が実現する安全で高速分析可能な分析処理基盤
Apache CloudStack 4.0 インストール(ver0.5)
Apache CloudStack 4.0 インストール(ver0.5)
Webサーバの基礎知識【編集済み】
Webサーバの基礎知識【編集済み】
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
VSCodeで始めるAzure Static Web Apps開発
VSCodeで始めるAzure Static Web Apps開発
Microsoft MVP が語る Azure 移行の勘所
Microsoft MVP が語る Azure 移行の勘所
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関東例会)
More from Takashi Takizawa
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
Takashi Takizawa
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料
Takashi Takizawa
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)
Takashi Takizawa
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
Takashi Takizawa
RFCについての復習
RFCについての復習
Takashi Takizawa
DNS RFC系統図
DNS RFC系統図
Takashi Takizawa
DNSのRFCの歩き方
DNSのRFCの歩き方
Takashi Takizawa
initとプロセス再起動
initとプロセス再起動
Takashi Takizawa
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
Takashi Takizawa
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
Takashi Takizawa
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
Takashi Takizawa
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
Takashi Takizawa
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
Takashi Takizawa
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
Takashi Takizawa
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
Takashi Takizawa
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史
Takashi Takizawa
DNS再入門
DNS再入門
Takashi Takizawa
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
Takashi Takizawa
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassin
Takashi Takizawa
More from Takashi Takizawa
(20)
DNS RFCの歩き方(短縮版)
DNS RFCの歩き方(短縮版)
サバフェス! 2015 Spring LT資料
サバフェス! 2015 Spring LT資料
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 2013 Tokyo/Spring)
Unbound/NSD最新情報(OSC 2013 Tokyo/Spring)
RFCについての復習
RFCについての復習
DNS RFC系統図
DNS RFC系統図
DNSのRFCの歩き方
DNSのRFCの歩き方
initとプロセス再起動
initとプロセス再起動
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 メールと暗号 - SSL/TLS -
#mailerstudy 02 暗号入門 (2012-02-22更新)
#mailerstudy 02 暗号入門 (2012-02-22更新)
#logstudy 01 rsyslog入門
#logstudy 01 rsyslog入門
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
UnboundとDNSSEC(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
Unboundの最適化(OSC2011 Tokyo/Spring)
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
qpstudy08 lsyncdによる共有ファイルシステムっぽい何かの検証
#mailerstudy 01 LT POP/IMAP入門
#mailerstudy 01 LT POP/IMAP入門
#dnstudy 01 ドメイン名の歴史
#dnstudy 01 ドメイン名の歴史
DNS再入門
DNS再入門
#dnstudy 01 Unboundの紹介
#dnstudy 01 Unboundの紹介
hbstudy20100821 SpamAssassin
hbstudy20100821 SpamAssassin
nginx入門
1.
第10回 静岡ITPro勉強会 インフラ部 nginx⼊入⾨門 滝澤
隆史 株式会社ハートビーツ MSP事業部 所属 http://heartbeats.jp/ 1 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
2.
私は誰 • ⽒氏名: 滝澤
隆史 @ttkzw • 所属: 株式会社ハートビーツ ▫ サーバの構築・運⽤用や 24時間365⽇日の有⼈人監視をやっている会社 ▫ いわゆるMSP(マネージド サービス プロバイ ダ) • nginxとの関わり ▫ 所属会社の技術ブログ「nginx連載」 – http://heartbeats.jp/hbblog/nginx/ ▫ Software Design 2012年年12⽉月号 第2特集「⾼高速・⾼高機能HTTPサーバ Nginx構築・ 設定マニュアル」 2 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
3.
アジェンダ • nginxのインストール • nginxの設定 •
ウェブアプリケーションとの連携 3 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
4.
本⽇日の勉強会の進め⽅方 • セミナーではなく勉強会です。 • 随時質問を受け付けます。 •
質問がある⽅方は挙⼿手をお願いします。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 4
5.
5 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門
6.
インストール⽅方法 • nginx公式パッケージ • OSやサードパーティのリポジトリ •
ビルドしてインストール 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 6
7.
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
8.
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 ほとんどの環境 でパッケージは 存在する。
9.
ビルドしてインストール • ビルドする必要があるケース ▫ 提供されているパッケージに必要なモジュー ルが組み込まれていない場合 ▫
サードパーティモジュールを追加したい場合 ▫ ちょっと古い環境でOpenSSL 1.0.1を使いた い場合(SPDYやTLS v1.1,v1.2対応のため) ▫ 単にビルドしたい! 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 9
10.
ビルドしてインストール • ./configureの時に組み込むモジュールを指定す る。 ▫ オプショナルモジュール ▫
サードパーティモジュール 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 10 ./configure --with-http_XXXX_module --add-module=/path/to/module --with-openssl=/path/to/openssl-1.0.1e
11.
ビルドしてインストール • 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 サードパーティ モジュール オプショナル モジュール
12.
モジュールの確認 • "nginx -‐‑‒V"で./configureのオプションが確認で きる。 •
→オプショナルモジュールとサードパーティモ ジュールの指定が確認できる。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 12
13.
公式パッケージのインストール例例 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
14.
公式パッケージのインストール例例 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
15.
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 15
16.
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 16
17.
設定ファイル • 設定ファイル ▫ /etc/nginx/nginx.conf 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 17 ./configure時に指定
18.
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);
19.
インストールされる設定ファイル • 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
20.
インストールされる設定ファイル ファイル名 説明 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
21.
インストールされる設定ファイル ファイル名 説明 koi-‐‑‒utf ロシア語の⽂文字エンコーディングkoi8-‐‑‒rとUTF-‐‑‒8の⽂文字 コードのマッピングを⾏行行うファイル。 koi-‐‑‒win
ロシア語の⽂文字エンコーディングwindows-‐‑‒1251とUTF-‐‑‒8 の⽂文字コードのマッピングを⾏行行うファイル。 win-‐‑‒utf ロシア語の⽂文字エンコーディングwindows-‐‑‒1251とUTF-‐‑‒8 の⽂文字コードのマッピングを⾏行行うファイル。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 21 この3つのファイルは通常は使わない。 ロシア語の⽂文字エンコーディングの変換 を⾏行行う場合のみ利利⽤用。
22.
インストールされる設定ファイル • ファイル名は特別な意味はない。 • 利利⽤用するには ▫
設定ファイルからincludeディレクティブによ りこのファイル名を指定して読み込む ▫ 例例 – include /etc/nginx/mime.types; – include mime.types; 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 22 nginx.confファイルのある ディレクトリからの相対パス
23.
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 23
24.
ディレクティブ • 設定ファイルにディレクティブ(設定の命令令) を書くことにより設定を⾏行行う。 • ディレクティブをどこにでも書けるわけではな い。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 24
25.
events { } http { server
{ location URI_PATH { } location URI_PATH { ... } ... } server { ... } } 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 25 mainコンテキスト eventsコンテキスト httpコンテキスト serverコンテキスト locationコンテキスト 主にプロセスの制御に関する設定 接続処理理に関する設定 HTTPサーバ全体の設定 バーチャルホスト毎の設定 URI毎の設定 nginx.conf ディレクティブ毎に記述できる コンテキストが決まっている。
26.
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 バーチャルサーバ毎の設定を 別ファイルにできる。
27.
設定ファイルを書いてみよう • 設定ファイルのサンプルを⾒見見ながら設定ファイ ルを書いてみよう。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 27
28.
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の値以上を設定する。
29.
events { worker_connections 1024; } eventsコンテキスト 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 29 ⼀一つのworkerプロセスが同時に処理理でき る最⼤大コネクション数。 リバースプロキシーとして動作する場合 はバックエンドとの接続数も含む。 デフォルト値は512。
30.
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でよく使われるログの書式)
31.
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。 レスポンスのコンテンツを圧縮するか。 バーチャルホストの設定ファイル読み込み
32.
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のパスをファイルシステム上 のパスに対応
33.
listenディレクティブ • 記述⽅方法 ▫ listen
IPアドレス:ポート番号 オプション; – IPアドレスのデフォルト値: * – ポート番号のデフォルト値: 80 – 主なオプション – default_̲server – ssl – spdy 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 33
34.
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
35.
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 デフォルトサーバを指定しない と、最初に⾒見見つかったサーバが デフォルトサーバになる。
36.
server_̲nameディレクティブ • 記述⽅方法 ▫ server_̲name
サーバ名 ...; – デフォルト値: "" – ""はHostヘッダのないリクエストに対応 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 36
37.
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ヘッダなし サーバ名に利利⽤用できない⽂文字なので、 デフォルトサーバにする場合に利利⽤用。 正規表現 部分⼀一致 部分⼀一致
38.
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対応になれば名前ベースでよいのですが。
39.
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 対応が必要。
40.
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以降降)
41.
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のパスをファイルシステム上 のパスに対応
42.
location – パス毎の設定 •
記述⽅方法 ▫ location プレフィックス URIのパス { locationコンテキスト } プレフィックス 評価⽅方法 説明 なし 前⽅方⼀一致 ^~∼ 前⽅方⼀一致 評価を確定し、正規表現の評価を⾏行行わない。 = 前⽅方⼀一致 パス名が等しい場合(完全⼀一致)。 評価を確定し、正規表現の評価を⾏行行わない。 ~∼ 正規表現 ⼤大⽂文字・⼩小⽂文字を区別する。 ~∼* 正規表現 ⼤大⽂文字・⼩小⽂文字を区別しない。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 42
43.
②正規表現(プレフィックスが"~∼", "~∼*")の評価 locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 43 ①前⽅方⼀一致(プレフィックスが"=", "^~∼",
なし)の評価 URIのパスが最⻑⾧長⼀一致するlocationを選定する。 (プレフィックスが"="であるものを優先) 選定したlocationが完全⼀一致でプレフィックスが"="である。 選定したlocationのプレフィックスが"^~∼"である。 正規表現のlocationを設定ファイルの出現順に評価する。 評 価 の 確 定 お よ び 終 了了 ③前⽅方⼀一致の評価で選定されたlocationで評価を確定する。 正規表現に⼀一致する。 yes yes yes no no no
44.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 44 location / { [location
A] } location /example/ { [location B] } どのlocationが適応される? /example/page.html
45.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 45 location / { [location
A] } location /example/ { [location B] } どのlocationが適応される? /example/page.html 前⽅方⼀一致の評価で最⻑⾧長⼀一致
46.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 46 location / { [location
A] } location = / { [location B] } location = /page.html { [location C] } どのlocationが適応される? /
47.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 47 location / { [location
A] } location = / { [location B] } location = /page.html { [location C] } どのlocationが適応される? / 前⽅方⼀一致の評価で完全⼀一致。 プレフィックス"="により評価 が確定。
48.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 48 location / { [location
A] } location = / { [location B] } location = /page.html { [location C] } どのlocationが適応される? /page.html
49.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 49 location / { [location
A] } location = / { [location B] } location = /page.html { [location C] } どのlocationが適応される? /page.html 前⽅方⼀一致の評価で完全⼀一致。 プレフィックス"="により 評価が確定。
50.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 50 location / { [location
A] } location /example/page.html { [location B] } location ~ ^/example/ { [location C] } どのlocationが適応される? /example/page.html
51.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 51 location / { [location
A] } location /example/page.html { [location B] } location ~ ^/example/ { [location C] } どのlocationが適応される? /example/page.html 正規表現の評価に⼀一致。 評価が確定。 前⽅方⼀一致の評価で最⻑⾧長⼀一致。 プレフィックスなしのため 評価は確定しない。
52.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 52 location / { [location
A] } location ^~ /example/page.html { [location B] } location ~ ^/example/ { [location C] } どのlocationが適応される? /example/page.html
53.
locationのURIパスの評価 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 53 location / { [location
A] } location ^~ /example/page.html { [location B] } location ~ ^/example/ { [location C] } どのlocationが適応される? /example/page.html 前⽅方⼀一致の評価で最⻑⾧長⼀一致。 プレフィックス"^~∼"により 評価が確定。
54.
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
55.
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 正規表現の評価は出現順。 正規表現の評価に⼀一致。 評価が確定。 前⽅方⼀一致の評価で最⻑⾧長⼀一致。 プレフィックスなしのため 評価は確定しない。
56.
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/画像ファイル"に対応す る。
57.
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 ファイルシステム上のパスは?
58.
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
59.
location /s/ { root
/var/www/html/; } rootとalias 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 59 location /s/ { alias /var/www/html/s/; } URIのパスがファイルシステムのパ スと⼀一致している場合はrootで書 き直した⽅方がわかりやすい。
60.
アクセス制御、ベーシック認証 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; }
61.
ログ出⼒力力の抑制 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; }
62.
• 以上の設定パラメータで静的ファイルのウェブ サーバは運⽤用できる。 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 62
63.
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 63
64.
Webアプリケーションとの連携 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 64 Webブラウザ nginx Web アプリケーション サーバ http(s) http(s) FastCGI SCGI uWSGI Webアプリ Webアプリケーションサーバに対する プロキシーサーバとして動作。
65.
機能分担 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 65 Webブラウザ nginx Web アプリケーション サーバ 動的コンテンツSSL/TLS処理理 静的コンテンツ 静的コンテンツはnginxが返し、 動的コンテンツはWebアプリケーション サーバに対するプロキシーとして処理理する。 nginx側でSSL/TLSのオフロード処理理。
66.
負荷分散 2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 66 Webブラウザ nginx リクエスト分散。 加重ラウンドロビン。 Web アプリケーション サーバ Web アプリケーション サーバ Web アプリケーション サーバ
67.
基本的なパターン 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 静的コンテンツ 名前付きロケーション。 内部リダイレクト⽤用に使⽤用。
68.
基本的なパターン 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 の設定を⾏行行う。 名前付きロケーション。 内部リダイレクト⽤用に使⽤用。
69.
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のヘッダとして 付与。
70.
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の共通設定を 記述した設定ファイルの読み 込み。
71.
[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
72.
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に渡すパラメータ
73.
2013-‐‑‒05-‐‑‒18nginx⼊入⾨門 73
Download now