SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Webサーバ勉強会
     #4

  Nginxの仕組みと他のサーバ
(事情によりApacheだけ)との違い



                  1
自己紹介

         • id:oranie
          • @oranie
• 緑色のグループ会社で、グループ内でも余り知られてい
  ないシステムでなんか色々やる簡単なお仕事しています
  。


• 緑色のみんながよく知っているサービスの裏側とかは全く
  知らないですw


                       2
Nginxとは何?

信頼のWikipediaより→



nginx(「エンジンエックス」と発音) は、軽量かつ高性能なWeb
   サーバ/リバースプロキシ、
電子メール(IMAP/POP3)プロキシである。BSD-likeライセンス
   でリリースされている。




                              3
Nginxとは何?

                       概要
Nginxは、システムリソースを効率的に使いながら、
静的コンテンツを敏速に配信できる。
標準でFastCGI, uWSGIなどに対応しているので、
動的なHTTPコンテンツをデプロイすることもできる。
有能なソフトウェアロードバランサとして使用することもできる。

Nginxは、リクエストの処理に非同期のイベント駆動アプローチを用いている
。これは、負荷下において、より予測可能なパフォーマンスを提供する。
これに対して、Apache HTTP Serverでは、スレッドやプロセス指向の
アプローチを用いている。


                              4
非同期のイベント駆動アプローチとは?

静的ファイルを例に:
通常Apache等ではワーカプロセスやスレッドは同期IOを用いている為
リクエストを受信して、静的ファイルリソース読んでレスポンス返して・・・
という一連の流れを完了するまで、次のリクエストは処理出来ない

これに対してNginxでは非同期I/Oを用いたイベントモデルでの処理を
行っているため、ワーカープロセスが同時に複数のリクエストを処理出来る
  。


この辺は長いので端折るので、会場にいる詳しい人後で補足プリーズ!




                            5
Nginxに向いている事



・大量のリクエストをさばくWebサーバの構築

・リバースプロキシを用いたキャッシュされたコンテンツの配布

・綺麗なconfig書きたいという欲求を満たす
→config内のrewriteでif文が使える!!分かりやすい!
詳細はconfig説明で!


                            6
Nginxに向いていない事
              Apacheと比べて出来無い事など


・後からモジュールを動的にロードさせる事が出来ない。必要な
  モジュールは初めにコンパイルが必要。
・Apacheと比べるとまだまだシェアは低いので、コミュニティやド
  キュメントの充実さが弱い

・URL書き換えルールなどの互換性がApacheと無い
・Apacheと比べるとモジュールが少ない
※でも普通に使うレベルの物はこの辺見るとhttp://wiki.nginx.org/ModulesJa
ほぼあると思いますよ




                                                7
Nginxに向いていない事
        Apacheと比べて出来無い事など


一部ApacheにはあるがNginxに無い機能があるので、それを利
 用したWebサーバの移行
→・FastCGIしか動かないため、CGI(笑)はNG

.htaccess(笑)による柔軟な設定(笑)をした
高度なWebサーバ(笑)をNginxに移行する

※同等の事は実現しようと思えば出来ますが、
Nginxのcongfigの良さが失われる+トラブルの原因に。

                             8
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
Nginxへ移行する際に考慮したいこと



たくさんの.htaccessファイル か、あるいは、 たくさんのApache
 サーバ を所有しているのなら、Nginxに移行するべきではな
 いでしょう。これらの設定ファイルを全て、Nginx形式に書き換
 えるコストよりも、新しいサーバを買うコストの方が安いでしょ
 うね。




                            11
Nginxへ移行する際に考慮したいこと



・もし、単体のアプリケーションを複数のサーバで配信していて
  、しかも、 その大半が静的ファイルでない場合 、Nginxに移
  行するべきではないでしょう。

・逆に、 配信するファイルの大半が、静的ファイルである場合 、
  Nginxに移行するべきでしょう。




                         12
Nginxへ移行する際に考慮したいこと

・新たなウェブホスティングサービスを立ち上げる場合、Nginxに
  移行するべきでしょう。
ただし、利用するユーザが .htaccessを必要としない場合に 。

・仮想サーバ上でウェブサービスを運用する場合 、Nginxに移
  行するべきでしょう。
Nginxが利用するメモリが、Apacheよりも少ないためです。




                         13
Nginxへ移行する際に考慮したいこと

・もし、PHPアプリケーションのパフォーマンスが悪いため
  に、Nginxの切り替えを考えているなら、



      ウェブサーバでなく、
    まずは アプリケーション自体を
       見直しましょう 。


                       14
Nginxを利用する前提で

ApacheとNginxの併用は可能なので、Nginxに無い機能をどうしても使いたい
  とか今までのApacheから大人の事情で急にリプレイス出来ないのであれ
  ば併用するとか


エンドユーザーからのリクエストをまずNginxで受けて、そこからリバースプロ
  キシでApacheに投げるようにするとか。


まあ、大半の事は出来るので後はその時の技術的な設定、サイトの特性な
 どで検討するのが良いと思います。


性能は実際にテストするのが、悩むより遙かに建設的です。



                               15
Nginxを使うために実際に何やればいいの?




    次の人、発表お願いします!!




                     16

Mais conteúdo relacionado

Mais procurados

ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
Kodai Terashima
 

Mais procurados (20)

lua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Requestlua_nginx_module JSON-RPC 2.0 Batch Request
lua_nginx_module JSON-RPC 2.0 Batch Request
 
OWASP Nagoya_WordPress_Handson_1
OWASP Nagoya_WordPress_Handson_1OWASP Nagoya_WordPress_Handson_1
OWASP Nagoya_WordPress_Handson_1
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門	ノンプログラマのためのウェブサーバ入門
ノンプログラマのためのウェブサーバ入門
 
5分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.05分でインストール!awsでzabbix3.0
5分でインストール!awsでzabbix3.0
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
 
Zabbix超入門
Zabbix超入門Zabbix超入門
Zabbix超入門
 
WPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャンWPSCanによるWordPressの脆弱性スキャン
WPSCanによるWordPressの脆弱性スキャン
 
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
Zabbixの分散構築~ConoHa VPSでのzabbix server構築~
 
Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2Zabbix-jp study #4 20111020 session2
Zabbix-jp study #4 20111020 session2
 
Spring Boot + Netflix Eureka
Spring Boot + Netflix EurekaSpring Boot + Netflix Eureka
Spring Boot + Netflix Eureka
 
Tech circle#13 zabbix3.0ハンズオン lld
Tech circle#13 zabbix3.0ハンズオン lldTech circle#13 zabbix3.0ハンズオン lld
Tech circle#13 zabbix3.0ハンズオン lld
 
Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点Zabbixのパフォーマンスチューニング & インストール時の注意点
Zabbixのパフォーマンスチューニング & インストール時の注意点
 
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
さくらインターネットにおけるServerspec導入事例(DevOps勉強会 #3 Serverspecの巻)
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築)
 
ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視ZabbixによるOpenStack/OpenContrailの監視
ZabbixによるOpenStack/OpenContrailの監視
 
Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!Oracleがnode.jsをやり始めたというのだが!
Oracleがnode.jsをやり始めたというのだが!
 
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
最近始めたあなたも今日から語れるようになるMySQLの{概要と最新情報}入門@
 
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
OWASP WordPressセキュリティ実装ガイドライン (セキュアなWordPressの構築ハンズオン手順書)
 
Nginx バージョンアップ動向(2015/07〜2015/12)
Nginx バージョンアップ動向(2015/07〜2015/12)Nginx バージョンアップ動向(2015/07〜2015/12)
Nginx バージョンアップ動向(2015/07〜2015/12)
 

Semelhante a Webサーバ勉強会#4

Continuous delivery 6
Continuous delivery 6Continuous delivery 6
Continuous delivery 6
ShinyaOzawa
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用について
Yuuki Namikawa
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
irix_jp
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHP
Takuya Sato
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
TrinityT _
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
irix_jp
 

Semelhante a Webサーバ勉強会#4 (20)

最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの最新版Hadoopクラスタを運用して得られたもの
最新版Hadoopクラスタを運用して得られたもの
 
Continuous delivery 6
Continuous delivery 6Continuous delivery 6
Continuous delivery 6
 
PHP-Ninjaの裏側
PHP-Ninjaの裏側PHP-Ninjaの裏側
PHP-Ninjaの裏側
 
ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門ChefユーザのためのAnsible入門
ChefユーザのためのAnsible入門
 
Railsの運用について
Railsの運用についてRailsの運用について
Railsの運用について
 
OpenStack Object Storage; Usage
OpenStack Object Storage; UsageOpenStack Object Storage; Usage
OpenStack Object Storage; Usage
 
Re: WebServer BenchMarking
Re: WebServer BenchMarkingRe: WebServer BenchMarking
Re: WebServer BenchMarking
 
インフラエンジニアLv1がWordPressまわりに色々してみた話
インフラエンジニアLv1がWordPressまわりに色々してみた話インフラエンジニアLv1がWordPressまわりに色々してみた話
インフラエンジニアLv1がWordPressまわりに色々してみた話
 
PHP7検証@IDCFクラウド
PHP7検証@IDCFクラウドPHP7検証@IDCFクラウド
PHP7検証@IDCFクラウド
 
クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。クラウドのようなVPS 「ConoHa」 を使ってみよう。
クラウドのようなVPS 「ConoHa」 を使ってみよう。
 
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
Apache Kafkaでの大量データ処理がKubernetesで簡単にできて嬉しかった話
 
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
【PHPカンファレンス福岡】PHP 5.3 + CakePHP 1.3 → PHP 7 + CakePHP 3 移行を決めた話
 
本番環境で使いたいPHP
本番環境で使いたいPHP本番環境で使いたいPHP
本番環境で使いたいPHP
 
ネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chefネットワークエンジニアのための Puppet / Chef
ネットワークエンジニアのための Puppet / Chef
 
内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用内製パッケージによるHadoopデータ解析基盤の構築と運用
内製パッケージによるHadoopデータ解析基盤の構築と運用
 
Webサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのことWebサーバ構築で心がけるべき二つのこと
Webサーバ構築で心がけるべき二つのこと
 
OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門OSC2011Tokyo/Fall OpenStack Swift入門
OSC2011Tokyo/Fall OpenStack Swift入門
 
KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料KUSANAGIユーザグループ東京 第1回勉強会 資料
KUSANAGIユーザグループ東京 第1回勉強会 資料
 
Introduce couchbase server
Introduce couchbase serverIntroduce couchbase server
Introduce couchbase server
 
Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築Ansible/Vagrantでアドテク環境を最速構築
Ansible/Vagrantでアドテク環境を最速構築
 

Mais de oranie Narut (11)

Devsumi2019 dynamodb
Devsumi2019 dynamodbDevsumi2019 dynamodb
Devsumi2019 dynamodb
 
Jvm operation casual talks
Jvm operation casual talksJvm operation casual talks
Jvm operation casual talks
 
cassandra 100 node cluster admin operation
cassandra 100 node cluster admin operationcassandra 100 node cluster admin operation
cassandra 100 node cluster admin operation
 
Fluentd casual
Fluentd casualFluentd casual
Fluentd casual
 
Webサーバ勉強会#5
Webサーバ勉強会#5Webサーバ勉強会#5
Webサーバ勉強会#5
 
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
MySQL Casual LT  : MySQL Upgrade  5.0 to 5.5 MySQL Casual LT  : MySQL Upgrade  5.0 to 5.5
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
 
Webサーバ勉強会03
Webサーバ勉強会03Webサーバ勉強会03
Webサーバ勉強会03
 
財務分析勉強会挨拶
財務分析勉強会挨拶財務分析勉強会挨拶
財務分析勉強会挨拶
 
Webサーバ勉強会02
Webサーバ勉強会02 Webサーバ勉強会02
Webサーバ勉強会02
 
Webサーバ勉強会 発表資料
Webサーバ勉強会 発表資料Webサーバ勉強会 発表資料
Webサーバ勉強会 発表資料
 
It勉強会の勉強会
It勉強会の勉強会It勉強会の勉強会
It勉強会の勉強会
 

Último

Último (7)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 

Webサーバ勉強会#4