Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Masahiro Haraoka
PPTX, PDF
4,309 views
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
WEBサーバNginxに関する説明やapacheとの比較ベンチマーク、EC2での使用方法など
Technology
◦
Read more
7
Save
Share
Embed
Embed presentation
Download
Downloaded 21 times
1
/ 40
2
/ 40
3
/ 40
4
/ 40
5
/ 40
6
/ 40
7
/ 40
8
/ 40
9
/ 40
10
/ 40
11
/ 40
12
/ 40
13
/ 40
14
/ 40
15
/ 40
16
/ 40
17
/ 40
18
/ 40
19
/ 40
20
/ 40
21
/ 40
22
/ 40
23
/ 40
24
/ 40
25
/ 40
26
/ 40
27
/ 40
28
/ 40
29
/ 40
30
/ 40
31
/ 40
32
/ 40
33
/ 40
34
/ 40
35
/ 40
36
/ 40
37
/ 40
38
/ 40
39
/ 40
40
/ 40
More Related Content
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
PDF
Mobage を支える Ruby の技術 ~ 複数DB編 ~
by
Naotoshi Seo
PDF
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
PDF
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
PPTX
C#で作ったプログラムのインストーラーを Inno Setupで作成(2)
by
Kenichi Yamada
PDF
そのRails Engine、 本当に必要ですか?
by
nixiesan
PDF
Webブラウザ上で動作する帳票エンジンを作る話
by
terurou
PPTX
AWSでGPUも安く大量に使い倒せ
by
Yasuhiro Matsuo
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
Mobage を支える Ruby の技術 ~ 複数DB編 ~
by
Naotoshi Seo
ソフトウェア開発における『知の高速道路』
by
Yoshitaka Kawashima
ソーシャルゲームのためのデータベース設計
by
Yoshinori Matsunobu
C#で作ったプログラムのインストーラーを Inno Setupで作成(2)
by
Kenichi Yamada
そのRails Engine、 本当に必要ですか?
by
nixiesan
Webブラウザ上で動作する帳票エンジンを作る話
by
terurou
AWSでGPUも安く大量に使い倒せ
by
Yasuhiro Matsuo
What's hot
PDF
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
by
Satoshi Shimazaki
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PDF
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
by
Amazon Web Services Japan
PPTX
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
by
Taiki Yoshida
PDF
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
by
Yahoo!デベロッパーネットワーク
PDF
UiPath Test Suite の魅力とは?
by
JunShiomi
PPTX
概念モデリング再入門 + DDD
by
Hiroshima JUG
PDF
Spannerに関する技術メモ
by
Etsuji Nakai
PPTX
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
PDF
AWS Black Belt Online Seminar Amazon Aurora
by
Amazon Web Services Japan
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PPTX
マイクロサービスにおける 結果整合性との戦い
by
ota42y
PPTX
United States Department of DefeReview (created december 2017)
by
Mike Korman, MCPO USN (R)
PPTX
HLSについて知っていることを話します
by
Moriyoshi Koizumi
PDF
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
by
京大 マイコンクラブ
PPTX
Log analysis using Logstash,ElasticSearch and Kibana
by
Avinash Ramineni
PDF
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
by
IMQA
PPTX
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
PPT
DNS移転失敗体験談
by
oheso tori
PDF
AWS BlackBelt AWS上でのDDoS対策
by
Amazon Web Services Japan
インフラエンジニアなら知っておきたいストレージのはなし@OSC 2012 Nagoya
by
Satoshi Shimazaki
脱RESTful API設計の提案
by
樽八 仲川
Gaming on aws 〜ゲームにおけるAWS最新活用術〜
by
Amazon Web Services Japan
今から始めようMicrosoft PowerApps! (2017年版) - 吉田の備忘録
by
Taiki Yoshida
Yahoo! JAPANのコンテンツプラットフォームを支えるSpring Cloud Streamによるマイクロサービスアーキテクチャ #jsug #sf_52
by
Yahoo!デベロッパーネットワーク
UiPath Test Suite の魅力とは?
by
JunShiomi
概念モデリング再入門 + DDD
by
Hiroshima JUG
Spannerに関する技術メモ
by
Etsuji Nakai
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
by
sairoutine
AWS Black Belt Online Seminar Amazon Aurora
by
Amazon Web Services Japan
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
マイクロサービスにおける 結果整合性との戦い
by
ota42y
United States Department of DefeReview (created december 2017)
by
Mike Korman, MCPO USN (R)
HLSについて知っていることを話します
by
Moriyoshi Koizumi
C# ゲームプログラミングはホントにメモリのことに無頓着でいいの?
by
京大 マイコンクラブ
Log analysis using Logstash,ElasticSearch and Kibana
by
Avinash Ramineni
[IMQA] 빠른 웹페이지 만들기 - 당신의 웹페이지는 몇 점인가요?
by
IMQA
[社内勉強会]ELBとALBと数万スパイク負荷テスト
by
Takahiro Moteki
DNS移転失敗体験談
by
oheso tori
AWS BlackBelt AWS上でのDDoS対策
by
Amazon Web Services Japan
Viewers also liked
PDF
Amazon EC2 LINUX編
by
Masahiro Haraoka
PDF
WordBench千葉「レベル別Nginx活用法」
by
Endoh Shingo
PDF
Apacheからnginxにリニューアルしようとしてるお話
by
Shohei Koyama
PDF
nginx入門
by
Takashi Takizawa
PDF
Hsdpa analysis
by
Mohammed Razuddin
PPTX
Nginx勉強会
by
Yuji Otani
Amazon EC2 LINUX編
by
Masahiro Haraoka
WordBench千葉「レベル別Nginx活用法」
by
Endoh Shingo
Apacheからnginxにリニューアルしようとしてるお話
by
Shohei Koyama
nginx入門
by
Takashi Takizawa
Hsdpa analysis
by
Mohammed Razuddin
Nginx勉強会
by
Yuji Otani
Similar to EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
PPTX
第2回勉強会資料 岩本(配布用)
by
Takahisa Iwamoto
PDF
Webサーバ勉強会#4
by
oranie Narut
PDF
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
by
Yoshio Hanawa
PDF
Nginx
by
Soichi Takamura
PDF
nginxの紹介
by
Takashi Takizawa
PPTX
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
by
do_aki
PPTX
軽量高機能webサーバーnginx
by
ngi group.
KEY
PHP-Ninjaの裏側
by
Takayuki Miyauchi
PDF
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
by
NGINX, Inc.
PPTX
簡単なHTTPサーバの作成
by
Panu Avakul
PDF
Webサーバのチューニング
by
Yu Komiya
PDF
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
by
Ryosuke MATSUMOTO
PDF
Word press on conoha このべん #3
by
Wataru OKAMOTO
PPTX
20120821 pronet study
by
Six Apart
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
PDF
第1回 松本勉強会 2012 05 11 - 公開版
by
Ryosuke MATSUMOTO
PPT
Webサーバ勉強会02
by
oranie Narut
PDF
Ad stirの裏側
by
Seiji Ochiai
PPTX
Firebug×smart release20120904
by
Masayuki Abe
PDF
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
by
NGINX, Inc.
第2回勉強会資料 岩本(配布用)
by
Takahisa Iwamoto
Webサーバ勉強会#4
by
oranie Narut
PHP-FPMとuWSGI——mod_php以外の選択肢を探る
by
Yoshio Hanawa
Nginx
by
Soichi Takamura
nginxの紹介
by
Takashi Takizawa
Webサーバ勉強会4 nginx で php-fpm を動かしてみた
by
do_aki
軽量高機能webサーバーnginx
by
ngi group.
PHP-Ninjaの裏側
by
Takayuki Miyauchi
NGINXセミナー(基本編)~いまさら聞けないNGINXコンフィグなど基本がわかる!
by
NGINX, Inc.
簡単なHTTPサーバの作成
by
Panu Avakul
Webサーバのチューニング
by
Yu Komiya
汎用性の高い大規模共有型Webバーチャルホスティング基盤のセキュリティと運用技術の改善
by
Ryosuke MATSUMOTO
Word press on conoha このべん #3
by
Wataru OKAMOTO
20120821 pronet study
by
Six Apart
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
by
toshi_pp
第1回 松本勉強会 2012 05 11 - 公開版
by
Ryosuke MATSUMOTO
Webサーバ勉強会02
by
oranie Narut
Ad stirの裏側
by
Seiji Ochiai
Firebug×smart release20120904
by
Masayuki Abe
「これからはじめるNGINX技術解説~基本編」セミナー (NGINX Back to Basic in JP)
by
NGINX, Inc.
EC2でNginxを使ってみよう JAWS大阪第9回勉強会資料
1.
EC2でNginxを 使ってみよう!
2.
名前 原岡 昌寛 所属 株式会社ビヨンド http://beyondjapan.com 自己紹介 ホスティングとかクラウド構築・保守とかやって ます。あとWEB系開発も。
仕事 インフラエンジニア 年齢 36才 愛読書 3児の父 少年ジャンプ 好きな食べ物 ハンバーグ カレー ラーメン
3.
2009年 Akamai社の調査結果 Q1: WEBサイトの表示にどれぐらい時間がかかると 「遅い」と感じるか? せっかちな 人々
A1: 約半数のユーザーは、ページ表示の待ち時間が2秒 を超えるとイライラし始める。 Q2: WEBサイトの読み込みが何秒で終わることを期待 するか? A2: 47%の消費者が「2秒」と回答。 2006年の調査では4秒という判断であり、 3年でユーザーはかなりせっかちになっている。
4.
Googleではページスピードが検索の1%に影響している。 ユーザーがページ表示に待てるのは2秒まで。 数字で見る ページ スピード
3秒以上かかると40%以上のユーザーは離脱する。 表示が1秒遅れるごとにコンバージョン率は7%落ちる。 表示が1秒遅れるごとに顧客満足度は16%落ちる。 速いサイトはインフラにかかるコストを 50%かそれ以上削減する。
5.
速さこそが正義! …いい時代になったものだ つまり
6.
インフラ面で考えてみる サーバ・ネットワークを増強 ⇒
お金がかかります んじゃ 速くしましょ (OS、ミドルウェアの)チューニング ⇒ なかなか効果がでない場合も いっそWEBサーバを入れ替えてしまえ!! ⇒ Nginxって速いらしいよ!?
7.
ここまで、 前振り。 で、本題です。
8.
Nginxとは? とりあえず、インストール 本日の アジェンダ
Apacheとの違い PHP-FPMについて ベンチマーク! まとめ
9.
「えんじんえっくす」と読みます。 名前が強そうです。
特徴 Nginxとは? 1 高い並列性 処理性能 メモリ使用量の少なさ 処理が軽い 大量リクエストの処理にも向いている 他にも リバースプロキシ ※よく使われる メールプロキシ ロードバランサ なんかもある
10.
採用サービス Facebook
Drop box Hulu Nginxとは? 2 Wikipedia Git hub pixiv クックパッド などなど多くの企業で使われています。
11.
WEBサーバのシェア Netcraft社調査 Nginxとは? 3 Developer Apache July 2013 Percent August 2013 Percent Change 364,696,792 52.19% 336,622,050 46.96% -5.23 Microsoft 137,351,211 19.65% 163,098,703 22.75% 3.10 nginx 95,017,255 13.60% 104,311,568 14.55% 0.96 Google 27,406,059 3.92% 30,550,914 4.26% 0.34
12.
要件 サーバはEC2 m1.medium
Amazon Linux とりあえず インストール 1 Nginxはソースインストール PHPはPHP-FPM(Fast-CGI)で実行
13.
php-fpmのインストール # yum
install php php-devel php-fpm # chkconfig php-fpm on とりあえず インストール 2 php-fpm の設定 # vim /etc/php-fpm.d/www.conf # UnixSocketで通信 listen = /var/run/php-fpm/www.sock user = nginx group = nginx php-fpmの起動 # /etc/init.d/php-fpm start
14.
Nginx のインストール 必要モジュールのインストール #
yum install pcre pcre-devel openssl openssl-devel gcc ユーザの追加 とりあえず インストール 3 # useradd –s /sbin/nologin –d /usr/local/nginx nginx ソースからのインストール # cd /usr/local/src # wget http://nginx.org/download/nginx-1.2.3.tar.gz # tar zxvf nginx-1.2.3.tar.gz # cd nginx-1.2.3 # ./configure --user=nginx --group=nginx --withhttp_ssl_module --with-http_realip_module # make # make install
15.
logrotateの設定 # vim
/etc/logrotated/nginx /var/log/nginx/*log { missingok とりあえず インストール 4 Notifempty Sharedscripts rotate 12 Weekly Compress Postrotate kill -USR1 `cat /var/run/nginx.pid` Endscript }
16.
起動スクリプト # vim
/etc/init.d/niginx 起動スクリプトのパーミッションの変更 とりあえず インストール 5 # chmod 755 /etc/init.d/niginx コンフィグ設定 # vim /usr/local/nginx/conf/nginx.conf Nginxの起動 # /etc/init.d/nginx start
17.
nginx.confの要点1 worker_processes 1; #
CPUコア数に揃える worker_rlimit_nofile 4096; nginx.confの要 点1 #ファイルの同時オープン数(ApacheのServerLimit ) worker_connections 4096; # workerの同時接続数(ApacheのMaxClients) server_tokens off; #ApacheのServerTokens と同じ
18.
sendfile on; #ファイル読み書きの効率化 tcp_nopush nginx.confの要 点2 #
sendfile がonの時、パケットの効率化 keepalive_timeout 0; #ApacheのKeepaliveと同じ(0=off)
19.
location ~
.php$ { nginx.confの要 点3 include /usr/local/nginx/conf/fastcgi_params; fastcgi_pass unix:/tmp/php.socket; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/vhosts/beyondjapan.com$fastcgi_script_ name; } # fcgiを使う設定
20.
nginxユーザのファイルディスクリプタの上限 を変更 # vi
/etc/security/limits.conf nginx OS側も ちょっと設定 soft nofile 4096 nginx hard nofile 4096 システム全体のファイルディスクリプタの制限 をアップ # vi /etc/sysctl.conf fs.file-max = 50000
21.
yumも使えるよ♪ とりあえず 使ってみたい 方は (リポジトリを準備して) # yum install
–y php php-fpm # yum install –y nginx
22.
.htaccess が使えない Apacheとの 違い1 ⇒
confにベタ書きしか方法が。(要再起動) mod_phpが使えない ⇒ fast-cgiを使って下さい。
23.
Rewriteの記述が変わる Apache <IfModule
mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^beyondjapan.com$ [NC] RewriteRule ^(.*)$ http://www.beyondjapan.com/$1 [R=301,L] Apacheとの 違い2 </IfModule> ⇓あら簡単 Nginx server { server_name beyondjapan.com; rewrite ^(.*)$ http://www.beyondjapan.com$1 ; }
24.
Apache プロセスで処理(preforkの場合)※workerもある
プロセス駆動アーキテクチャ リクエストが大量に来た際、プロセスが同時起動 するのでオーバヘッドが大きくなるデメリット 重い処理は比較的得意 Apacheとの 違い3 Nginx スレッドで処理 イベント駆動アーキテクチャ 少ないプロセスでより多くのアクセスが捌ける 1つの処理時間が長くなる処理を実行した際、そこ でプロセスがブロックされ処理能力が低下する つまり、大量アクセスにはNginx、 1処理が重いならApache
25.
FPM FastCGI
Process Manager PHP の FastCGI 実装のひとつ PHP-FPM (FastCGI) 高負荷のサイトで有用な追加機能がある (slowlog出力など) 対応バージョン PHP 5.3.3からバンドル PHP 5.4.0 からPHP公式サポート プロトコル:FastCGI FastCGIはプロセスをメモリ上に永続化して使い まわすことによって負荷を軽減する
26.
slowlogを出力することができる N秒以上かかるアクセスを検出
N秒時点でのバックトレースも取れる slowlogを出力する閾値(秒) request_slowlog_timeout = 2 PHP-FPMの 独自機能 (1) slowlogの出力先 slowlog = /var/log/php-fpm/www-slow.log 該当ファイルの、一番最初にN秒を超えたもの しかトレースしない。 ※ 全てをトレースするわけではない もしかしたらやり方があるのかも。。。 こんな感じでログ が出力される
27.
使用していない子プロセスを自動的に削減する (メモリの節約) PHP-FPMの 独自機能 (2) microインスタンスなんかにはよさそう ・pm = ondemand ・pm.start_servers=1 しばらくアクセスが無いと、 子プロセスがなくなる。
28.
ベンチマーク環境 ベンチマーク をとってみる AWS
EC2 (AmazonLinux) m1.medium + Wordpress AWS RDS db.m1.large
29.
リクエスト回数:2 0 リクエスト回数:5 0 リクエスト回数:1
0 0 リクエスト回数:2 0 0 リクエスト回数:4 0 0 A p a ch e 3 5 ミリ秒 3 6 ミリ秒 6 0 ミリ秒 1 2 2 ミリ秒 2 5 0 ミリ秒 N gi x n 3 5 ミリ秒 3 7 ミリ秒 4 3 ミリ秒 4 0 ミリ秒 5 7 ミリ秒 ab結果 静的コンテンツ 300 ミリ秒 250 ミリ秒 200 ミリ秒 静的コンテンツ ベンチマーク 150 ミリ秒 100 ミリ秒 50 ミリ秒 0 ミリ秒 リクエスト回数:20 リクエスト回数:50 リクエスト回数:100リクエスト回数:200リクエスト回数:400 Apache Nginx
30.
静的コンテンツは速い!! つまり
31.
リクエスト回数:2 0 リクエスト回数:5 0 リクエスト回数:1
0 0 リクエスト回数:2 0 0 リクエスト回数:4 0 0 A p a ch e 3 0 0 5 ミリ秒 7 3 4 4 ミリ秒 1 2 7 1 8 ミリ秒 1 9 5 2 4 ミリ秒 4 1 8 8 9 ミリ秒 N gi x n 3 1 9 3 ミリ秒 6 1 1 5 ミリ秒 9 4 0 1 ミリ秒 1 7 7 5 2 ミリ秒 4 8 9 4 4 ミリ秒 ab結果 動的コンテンツ 60000 ミリ秒 50000 ミリ秒 40000 ミリ秒 動的コンテンツ ベンチマーク 30000 ミリ秒 20000 ミリ秒 10000 ミリ秒 0 ミリ秒 Apache Nginx
32.
結果はいまいち 動的コンテンツはあんまり速くない? うーん・・
33.
ロードアベレージ (動的コンテンツ100同時アクセス× 500回) Apache Nginx じゃあ リソースは? メモリ使用率 (動的コンテンツ100同時アクセス×
500回) Apache Nginx
34.
軽いじゃないの!! CPU、メモリ共に負荷が大幅に下がった! おお!
35.
Nginxは静的コンテンツ爆速 特に、大量アクセスだと俺のターン ベンチの まとめ
動的コンテンツはそんなに速くない けどリソース使用率は大幅に下がる ってことは低スペックサーバでも結構動くはず
36.
これは使えるね!! micro,smallでも結構動きます・・・ 結論
37.
おまけ でもApacheも使い続けたいって人は
38.
リバースプロキシとして使う Nginxをリーバスプロキシにして静的コンテンツをキャッシュし、Apacheをバックエ ンドにして動的コンテンツを実行する方法があります。 下記最低限の設定です。実際に使う場合はもう少し設定あり ■Nginx側 server { listen 80; こんな方法 もあります (1) server_name
beyondjapan.com; # このサーバへの全てのアクセスを転送 location /var/www/html/wp-admin { proxy_pass http://127.0.0.1:8080;} } ■Apace側 Apacheのポートのlistenを変更 Listen 8080 NameVirtualHost 127.0.0.1:8080 <VirtualHost 127.0.0.1:8080> ServerName hogehoge.com:8080
39.
画像サーバ的に使う 動的コンテンツはapacheのまま、静的コンテンツは nginxを使用する つまり画像ファイルだけ分離する こんな方法 もあります (2) ポート、サブドメイン、ドキュメントルートを設定して server
{ listen 8080; server_name img.beyondjapan.com; ... location / { root /home/beyondjapan/www; index index.php; } } 画像側はこんな感じでアクセス http://img.beyondjapan.com:8080/aaaa.png
40.
おわり ご清聴ありがとうございました
Download