【Nginxとは】特徴や単価相場などを網羅した初心者向けNginx入門書

初心者 案件単価相場

今回はWebサーバーとして人気が急上昇中のNginxについて、メリットやデメリット、Nginxを扱うエンジニアにおすすめの資格や勉強法、Nginx案件の単価相場や平均単価、単価相場の推移について初心者向けに説明していきます。

  • そもそもNginxって何?
  • Nginxの特徴は?
  • Nginxが扱えればどれくらいの単価が目指せるの?
  • Nginxの単価相場はどう変化してるのか?

などの疑問解決に役立てられるようデータを交えて解説していきますので、最後まで読んでみてください。

Nginx案件の単価相場データなどは、今Nginxを使い活躍しているエンジニアにとっても参考になるデータだと思います。

Nginxとは

Nginxは、2004年に登場したオープンソースのWebサーバーです。

WebサーバーといえばApacheが有名で、その他にもMicrosoftのIISが人気として高かったのですが、今ではNginxが台頭しApacheについで、現在2番目に多いシェアを獲得しています。

参考

https://w3techs.com/technologies/overview/web_server

Nginxは、高い機能性や高パフォーマンスなど高い評価を受けており、Webサーバーの代表であるApacheの代替としてここ数年で一気にシェアを拡大しています。

ApacheでネックとなっていたC10K問題にも対応でき、今注目のWebサーバーとなっています。

またNginx Inc.の日本支社が2019年に出来ており、日本市場へ参入し、日本語のドキュメントを充実させるなどの動きがあり、今後より日本でのNginxのシェアの拡大を目指しています。

Nginxを紹介するのに、このC10K問題は欠かせないので、こちらについても簡単に解説します。

C10K問題とは

C10K問題とは、クライアント1万台問題という意味で、Webサーバーとクライアントとの通信において、クライアントの同時接続が多くなる(約1万台)とハードウェア側は問題がないにも関わらず、レスポンス性能が低下する問題です。

1つのアクセスに対し、1つのプロセス(スレッド)を割り当て処理をする方式をとるマルチプロセス(スレッド)モデルのApacheでは、これに対応することが困難でした。

C10K問題の解決策は2つあり、一つはサーバーを増やす方法でもう一つは処理方式を変える方法です。

前者は、単純に1台のサーバーで対応できないのであれば、2つ3つと増やしていくやり方です。要は札束で殴るような解決策ですが、これでは資金勝負になりますし、根本の解決には至っていません。

そこで、Nginxが台頭してきた1つの理由にもなりますが、後者の解決方法が出てきました。

要はマルチプロセス(スレッド)モデルでダメであればシングルプロセス(シングルスレッド)で対処すればよいのではないかという考え方による解決策です。

C10K問題に、1つのアクセスに対し1つのプロセス(スレッド)で対応できないのであれば、複数のアクセスに対して1つのプロセス(スレッド)で対応することで、レスポンス性能の低下を回避することが出来るようになります。

イメージとしては、家事という作業があった場合、洗濯機を回している間にずっと待機し、終われば次の家事に取り掛かる作業方式がマルチプロセス(スレッド)で、それに対し、洗濯機を回している間に違う家事に取り掛かる作業方式がシングルプロセス(スレッド)です。

どちらが効率的かを判断するのは、たやすいかと思います。

そしてそのシングルプロセス(スレッド)方式をNginxでは採用しているため、C10K問題に対応でき高速で処理することが出来ます。

Nginxの使用例

処理能力が高く軽量で高い機能性を持つNginxは、今や多くの企業に利用されています。

また動的なコンテンツの処理を得意とするApacheと併用して活用することも多く、Apacheの前段階にNginxを導入し負荷を下げつつ、動的なコンテンツにもしっかり対応できるような使い方もあります。

Nginxが使用されているWebサービスで言うと、個人でブログをする際に契約するであろうレンタルサーバーにもNginxが使用されていますし、企業で見ると海外であればFacebookやWikipediaなどがあり、日本企業であればメルカリやクックパッドなどもNginxを使用しています。

このようにNginxの採用実績はどんどん増えています。

Nginxのメリット

Nginxのメリットはこちらです。

  • 高負荷に強い
  • 高速で軽量
  • 高機能
  • 高い柔軟性

高負荷に強い

Nginxは、C10K問題に対応できるよう設計されたWebサーバーです。

先ほども説明した通り、シングルプロセス(スレッド)方式で大量の同時接続に対しても十分なパフォーマンスが発揮でき、Apacheの10~100倍にも対応できると言われています。

高負荷に対応できる魅力がNginxにはあります。

高速で軽量

Nginxは、シングルプロセス(スレッド)方式と解説しましたが、より詳しく言うとシングルプロセス(スレッド)モデルの非同期型のイベント駆動アーキテクチャを採用しています。

またリバースプロキシやロードバランサと言った機能を持ち、結果、処理が高速かつ軽量で大量のリクエストの処理も可能になっています。

高機能

先ほども出てきましたが、Nginxではリバースプロキシやロードバランサといった機能も持っています。

リバースプロキシとは、クライアントとサーバーの間に入り、サーバの応答を『代理(proxy)』する機能で、ロードバランサは、リクエストを複数のサーバに分散させて、処理のバランスを調整する機能です。

これらにより、速く安定的な動作を実現させています。このようにNginxは、高機能なWebサーバーです。

高い柔軟性

Nginxでは、機能がモジュール化されているため柔軟に機能の追加削除が行えます。

例えば不要な機能を外し軽量化させることも出来ますし、モジュールを取り込んで機能の強化、独自に機能を実装したモジュールを開発して追加することが出来ます。

Nginxのデメリット

Nginxのデメリットはこちらです。

  • 動的コンテンツの処理に向いていない
  • Nginx単体での活用は難しい
  • 日本語の情報量が少ない

動的コンテンツの処理に向いていない

Nginxは、CPUリソースを多く必要とする動的コンテンツの処理には適しておりません。

小規模のWebサービスであれば、大きくパフォーマンスを低下させる心配はありませんが、大量な動的コンテンツの処理が必要になるとパフォーマンスが低下してしまいます。

Nginx単体での活用は難しい

Nginxの単一でWebサーバーとして機能させるためには、機能的に不足しています。

Nginxは、単一のメモリ空間で動作する設計になっているため、PHPなどのスクリプト言語を処理する機能がありません。

そのためNginxをリバースプロキシとして活用し、その下にApacheなどのWebサーバーを活用するなど、他Webサーバーと併用することが望ましいです。

日本語の情報量が少ない

Nginxは、2019年に日本支社を設立し、日本語のドキュメント強化など日本市場への参入を強めてはいますが、まだまだ情報量が多いという訳ではないです。

他代表的なWebサーバーであるApacheは、Nginxよりも10年近く早く登場し活躍していることもあり、他Webサーバーと比較しても情報量としては劣っている状況です。

Nginxエンジニアにおすすめの資格

Nginxを扱うエンジニアにおすすめの資格はこちらです。

  • LinuC
  • LPIC

LinuC

LinuCはLinux技術者向けの認定資格試験ですが、LinuCのレベル2にある202試験には、Nginxに関わる内容が出題され、Nginxの設定や管理についてやリバースプロキシサーバーとしての設定について問われます。

その為この資格を取得することでLinux環境でのNginxの設定等についての技術を証明することができます。

LinuCの階級は大きく3つに分かれており、それぞれに複数の試験があります。

  • LinuCレベル1:101試験&102試験
  • LinuCレベル2:201試験&202試験
  • LinuCレベル3:300試験 or 303試験 or 304試験

LinuCレベル1は、Linux技術者向けの初級試験で、101試験と102試験があります。

レベル1の資格を得るためには、この2つの試験に合格する必要があり、レベル2の資格を取得するためには、このレベル1の資格が必要になるため、Nginxを扱うエンジニアとしては取得しておきたい資格です。

LinuCレベル1の受験資格は特になく、1試験あたり15,000円(税抜)となっています。

LinuCレベル2は、Linux技術者向けの中級試験で、201試験と202試験があり、この202試験で、Nginxに関わる問題が出題されます。

レベル1同様にレベル2の資格を得るためには、201試験と202試験の両方に合格する必要があります。

LinuCレベル2に関しても受験資格は特になく、1試験あたり15,000円(税抜)となっています。

LinuCレベル3は、Linux技術者向けの上級試験で、300試験と303試験、304試験の3つの試験に分かれています。

レベル3はLinuxの技術者としてより高い能力を証明する資格ですので、Nginxをメインに扱うエンジニアにとっては無理に取得を目指す必要はないでしょう。

LinuCレベル3に関しても受験資格は特にありませんが、レベル3の資格を得るためには、レベル2の資格を得ている必要があります。

また、3つの試験のどれか1つを合格することで、対象の試験の資格を得ることが出来ます。

受験資格は特になく、1試験あたり15,000円(税抜)となっており、仮に試験に不合格になってしまった場合には、不合格日から2年以内であれば、5,000円(税抜)で再受験することも出来ます。

LinuCの資格は、Nginxの直接的な資格ではないですが、Nginxのエンジニアとして、何か資格を証明したい方にとっては、レベル2の資格を取得することで、アピールはできるでしょう。

LPIC

LPICは、LinuC同様にLinuxエンジニア向けの世界共通の国際資格で、Linuxに関わる資格ではありますが、2つ目の階級であるLPIC-2の試験には、Nginxの実装に関わる内容やリバースプロキシとしての設定等について問われる問題が出てきます。

LinuC同様、Linux環境でのNginxに関わる技術を証明することが出来ます。

LPICの階級は大きく3つに分かれており、それぞれに複数の試験があります。

  • LPIC-1:101&102
  • LPIC-2:201&202
  • LPIC-3:300 or 303 or 304

LPIC-1は、Linuxに関する基本的な知識などが問われる初級の試験で、101と102の2つの試験があります。

LPIC-1の資格を取得するためには、101と102の2つの試験に合格する必要があります。またLPIC-2の資格を取得するためには、このLPIC-1の資格の取得が必須のため、Nginxエンジニアとして技術を証明するためには取得しておく必要のある資格です。

LPIC-1の受験資格は特になく、1試験あたり15,000円(税抜)となっています。

LPIC-2は、Linux技術者向けの中級の試験で、201と202の2つの試験に分かれています。

このLPIC-2の202の試験に、Nginxに関わる内容の出題がされます。

LPIC-2も201と202の両試験に合格することで資格を取得できます。受験資格は特になく、1試験あたり15,000円(税抜)です。

LPIC-3は、Linux技術者の上級者向けの試験で、300と303、304の3つの試験があります。

LPIC-3の資格を取得するためには、3試験のどれかに合格することで、対象の試験の資格を取得することが出来ます。ただ前提としてLPIC-2の資格を取得していることが必須条件です。

価格は、1試験あたり15,000円(税抜)となっています。

Nginxエンジニアとして技術を証明するためにも、LPIC-2まで目指してみるのが良いでしょう。

Nginxの勉強方法

ここでは、Nginxについて勉強するためにおすすめの参考書とおすすめのプログラミングスクールを紹介します。

Nginxを勉強するのにおすすめの参考書

Nginxをこれから使う人や活用していく人におすすめな参考書はこちらです。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

nginx実践入門 久保達彦/著 道井俊介/著
価格:3047円(税込、送料別) (2020/9/17時点)


[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

nginx実践ガイド (impress top gear) [ 渡辺高志 ]
価格:3080円(税込、送料無料) (2020/9/17時点)


Nginxを勉強するのにおすすめのプログラミングスクール

Nginxについて学べるプログラミングスクールはこちらです。

Nginx案件の単価相場

それではNginxを扱えることでどれくらいの単価を目指せるのか紹介していきます。

Nginx案件の単価相場は70万円台となっており、次いで60万円台となっています。

割合的に見ると80万円台以上の高単価な案件も高く、40万円台以下の低単価な案件は少ない状況です。

WebサーバーとしてNginxを扱えることで比較的高単価を目指せる環境ではあるようです。

ただNginxが日本に本格的に参入したのはここ最近ですので、案件数自体では少ない印象にはあります。

Nginx案件の平均単価と中央値

2019年のNginx案件の「平均単価」「平均Min単価」「平均Max単価」「中央値」はこちらです。

Nginx案件の平均単価は72万円で、中央値は70万円となっています。

中央値が70万円となっており、Nginx案件の半数は70万円台以上であることが分かります。また平均単価でも72万円となっているので、70万円台以上を目指しやすい技術であることが分かります。

Nginx案件のミニマムの平均単価は66万円で、マックスの平均単価は75万円となっています。

ミニマムでも60万円台の後半という単価になっており、Nginx案件は比較的高単価であることがこの表からも分かります。

Nginx案件の単価相場推移

Nginx案件の単価相場の推移はこのようになっています。

どの年代も70万円台が単価相場になっています。

70万円台の前後を見てみると2015年から2018年までは、60万円台の方が割合としては高い傾向にありましたが、2019年より60万円台以下の割合が下がり、80万円台以上の割合が増加しています。

2019年頃から日本でNginxの需要が高まっているのではないかと想定できます。Nginx inc.の日本参入も単価相場に影響しているのかもしれません。

今後の推移にも注目です。

最後に

Nginxについて、特徴や単価相場など紹介してきました。

高い性能でWebサーバーとして人気があり、ここ数年でシェアを拡大しています。海外だけではなく日本の大手企業でも採用されるケースが増えてきています。

ただNginx単体での活躍はまだ難しい状況で、サーバーエンジニアとしてはApacheなど他のWebサーバーの知識も同時に必要なケースが殆どですが、Nginxの需要は高まってはいるのでぜひこの機会に学んでみてはいかがでしょうか?

Nginxのスキルがあることでサーバーエンジニアとして高い単価を目指せるなど、エンジニアとしての価値は高まるでしょう。