Webサーバ勉強会#4

2,727
-1

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,727
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Webサーバ勉強会#4

  1. 1. Webサーバ勉強会 #4 Nginxの仕組みと他のサーバ(事情によりApacheだけ)との違い 1
  2. 2. 自己紹介 • id:oranie • @oranie• 緑色のグループ会社で、グループ内でも余り知られてい ないシステムでなんか色々やる簡単なお仕事しています 。• 緑色のみんながよく知っているサービスの裏側とかは全く 知らないですw 2
  3. 3. Nginxとは何?信頼のWikipediaより→nginx(「エンジンエックス」と発音) は、軽量かつ高性能なWeb サーバ/リバースプロキシ、電子メール(IMAP/POP3)プロキシである。BSD-likeライセンス でリリースされている。 3
  4. 4. Nginxとは何? 概要Nginxは、システムリソースを効率的に使いながら、静的コンテンツを敏速に配信できる。標準でFastCGI, uWSGIなどに対応しているので、動的なHTTPコンテンツをデプロイすることもできる。有能なソフトウェアロードバランサとして使用することもできる。Nginxは、リクエストの処理に非同期のイベント駆動アプローチを用いている。これは、負荷下において、より予測可能なパフォーマンスを提供する。これに対して、Apache HTTP Serverでは、スレッドやプロセス指向のアプローチを用いている。 4
  5. 5. 非同期のイベント駆動アプローチとは?静的ファイルを例に:通常Apache等ではワーカプロセスやスレッドは同期IOを用いている為リクエストを受信して、静的ファイルリソース読んでレスポンス返して・・・という一連の流れを完了するまで、次のリクエストは処理出来ないこれに対してNginxでは非同期I/Oを用いたイベントモデルでの処理を行っているため、ワーカープロセスが同時に複数のリクエストを処理出来る 。この辺は長いので端折るので、会場にいる詳しい人後で補足プリーズ! 5
  6. 6. Nginxに向いている事・大量のリクエストをさばくWebサーバの構築・リバースプロキシを用いたキャッシュされたコンテンツの配布・綺麗なconfig書きたいという欲求を満たす→config内のrewriteでif文が使える!!分かりやすい!詳細はconfig説明で! 6
  7. 7. Nginxに向いていない事 Apacheと比べて出来無い事など・後からモジュールを動的にロードさせる事が出来ない。必要な モジュールは初めにコンパイルが必要。・Apacheと比べるとまだまだシェアは低いので、コミュニティやド キュメントの充実さが弱い・URL書き換えルールなどの互換性がApacheと無い・Apacheと比べるとモジュールが少ない※でも普通に使うレベルの物はこの辺見るとhttp://wiki.nginx.org/ModulesJaほぼあると思いますよ 7
  8. 8. Nginxに向いていない事 Apacheと比べて出来無い事など一部ApacheにはあるがNginxに無い機能があるので、それを利 用したWebサーバの移行→・FastCGIしか動かないため、CGI(笑)はNG.htaccess(笑)による柔軟な設定(笑)をした高度なWebサーバ(笑)をNginxに移行する※同等の事は実現しようと思えば出来ますが、Nginxのcongfigの良さが失われる+トラブルの原因に。 8
  9. 9. Nginxへ移行する際に考慮したいこと参照:http://blog.av-jyo.com/2011-07/first-steps-for-switching- from-apache-to-nginx.html(AV女優.com開発blogさんより)http://blog.a2o.si/2009/06/24/apache-mod_php-compared-to-ngin(開発blogさんが引用したソース) 9
  10. 10. 性能などについてさっきの引用元のサイトを軽く解説 10
  11. 11. Nginxへ移行する際に考慮したいことたくさんの.htaccessファイル か、あるいは、 たくさんのApache サーバ を所有しているのなら、Nginxに移行するべきではな いでしょう。これらの設定ファイルを全て、Nginx形式に書き換 えるコストよりも、新しいサーバを買うコストの方が安いでしょ うね。 11
  12. 12. Nginxへ移行する際に考慮したいこと・もし、単体のアプリケーションを複数のサーバで配信していて 、しかも、 その大半が静的ファイルでない場合 、Nginxに移 行するべきではないでしょう。・逆に、 配信するファイルの大半が、静的ファイルである場合 、 Nginxに移行するべきでしょう。 12
  13. 13. Nginxへ移行する際に考慮したいこと・新たなウェブホスティングサービスを立ち上げる場合、Nginxに 移行するべきでしょう。ただし、利用するユーザが .htaccessを必要としない場合に 。・仮想サーバ上でウェブサービスを運用する場合 、Nginxに移 行するべきでしょう。Nginxが利用するメモリが、Apacheよりも少ないためです。 13
  14. 14. Nginxへ移行する際に考慮したいこと・もし、PHPアプリケーションのパフォーマンスが悪いため に、Nginxの切り替えを考えているなら、 ウェブサーバでなく、 まずは アプリケーション自体を 見直しましょう 。 14
  15. 15. Nginxを利用する前提でApacheとNginxの併用は可能なので、Nginxに無い機能をどうしても使いたい とか今までのApacheから大人の事情で急にリプレイス出来ないのであれ ば併用するとかエンドユーザーからのリクエストをまずNginxで受けて、そこからリバースプロ キシでApacheに投げるようにするとか。まあ、大半の事は出来るので後はその時の技術的な設定、サイトの特性な どで検討するのが良いと思います。性能は実際にテストするのが、悩むより遙かに建設的です。 15
  16. 16. Nginxを使うために実際に何やればいいの? 次の人、発表お願いします!! 16
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×