こんばんは、草井真良です。
今月始めにブログをPorkbunさんからミライサーバーさんに移転して、何とかブログ運営を安定させております。
今回はこのブログの根幹を担うWebサーバについて解説したいと思います。
Webサーバとは?
Webサーバ(ー)とは、パソコンやスマートフォンなどの利用者側のコンピュータに対し、ネットワークを通じて情報や機能を提供するコンピュータもしくは、そのような機能を実装したソフトウェアを指します。
クライアント、要するに利用者側からの求めに応じて自身の管理するファイルを送信したり、内部で何らかの処理を行ったり、クライアントから受信したデータを保存したりすることができる。
一般的にはポート番号を用いた、HTTP(ポート80)/HTTPS(ポート443)で送られたリクエストに対してHTML、CSS、JavaScriptなどの情報を返す役割を担っています。
例えばブラウザで「https://www.example.jp/infomation/about.html」の表示を指示すると、「www.example.jp」というWebサーバへ接続を行い、「/infomation/about.html」という位置にあるファイルの送信を要求し、表示したりします。
Webサーバのソフトウェアが各地からさまざまなものが提供されていますが、これから紹介するApache、Nginx、IIS、LiteSpeedが一般的に使われているものとなります。
早速ですが見ていきましょう。
Apache(アパッチ)
Apacheとは、世界的に使用される著名なWebサーバソフトの1つで、OSS(オープンソースソフトウェア)として提供されています。
正式名称は「Apache HTTP Server」で、イギリスのApacheソフトウェア財団が保持しており、これはWebサーバソフトウェアであったApache HTTP Serverを開発するために発足された財団になります。
最初のバージョンが公開されたのは1995年と古いものの、細かなアップデートを繰り返しながら20年以上も使われ続けているほどです。Webサーバソフトを選ぶうえで「必ず選択肢に入るWebサーバソフトの1つ」と言っても過言ではありません。
オープンソースで「無料で使用可能」という特徴から、レンタルサーバーのプランに最初から組み込まれていることも多いです。できるだけ費用をかけずにホームページやブログを開設したいというケースであれば、Apacheを使用してみるのがいいでしょう。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9Lmh0YWNjZXNzJUUzJTgxJUE4JUUzJTgxJUFGJUVGJUJDJTlGJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1lNjc3Yzk2NzMwYTUzMzM3NmFmOWRkNzM1ODQzYzQwYw&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBzYW5vZ2VtYXJ1JnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01MzMwMzk4MDNkN2JlNDcwNzNkZGIxMzY3ODliYmQ2Ng&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g5qCq5byP5Lya56S-44Kr44Kq44OK44OT&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%231E2121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=5f076756a695a364d7c5ecbebdbfdd29)
PerlやRubyといったプログラミング言語で使われるCGIが簡単な設定で扱えますし、「.htaccess(ドットエイチティーアクセス)」というファイルを用いて、手軽にアクセス制限やURLのリダイレクトが行えるというのもApacheの魅力で、このブログでも積極的に使われています。
Nginx(エンジンエックス)
![](https://www.f5.com/content/dam/f5-com/global-assets/default-ogimage.png)
Nginxはアメリカのサンフランシスコに本社をかまえるNGINX, Inc.によって開発されたWebサーバーで、現在はF5ネットワークスに買収されています。
Nginxは2002年に登場した比較的新しいWebサーバーになりますがこれもApacheと並んでとても人気があります。Apacheと同じOSSで、自由に機能を開発できます。
Apacheで起こったC10K問題に対応すべく開発されたことから、高負荷に強いという特徴もあります。C10K問題とは、ApacheなどのWebサーバーが通信する端末の数が約1万台を超えると、ハードウェアの性能に関わらずレスポンスが大きく低下するという問題です。
処理能力や同時接続数などの負荷への耐久力は、Apacheよりも高いです。
シングルスレッド方式を採用しており、1つのプロセスで同時に複数の処理が行えます。
Apacheと比較すると欠点もあります。
それは設定がApacheと比べてやや複雑(htaccessを用いるといった方法も使えない)かつ、設定を更新する毎に必ずNginxの再起動が必要である点です。
アクセスが集中しやすい大規模なサイトではその処理能力は極めて有効で、キャッシュサーバーを使わずともHTMLや画像などをキャッシュ(サーバに一時保管)できるので、動きの少ない静的なコンテンツ高速で処理する事を求められた際に適したWebサーバーと言えるでしょう。
IIS(アイアイエス)
![](https://learn.microsoft.com/en-us/media/open-graph-image.png)
IISはWindows用のWebサーバー機能です。
Microsoft社が提供しているため、Windowsに特化しています。
ApacheやNginxと違い、IISはOSSではありません。
IISはWindowsベースで情報表示においてグラフィックを多用しているので、命令文を入力して実行させるCUI(キャラクタ・ユーザ・インターフェース)よりも、直感的に操作可能なGUI(グラフィカル・ユーザ・インターフェース)である点も大きなメリットといえます。
私は使った事ないので何とも言えません。Windowsサーバ自体をそもそも使った事がないので…
LiteSpeed(ライトスピード)
LiteSpeed Web Serverとは、LiteSpeed Technologies社の開発するApache-httpサーバ互換のwebサーバで、多くのApacheの機能と互換性があるため、同じconfファイルをそのまま使用してApache-httpサーバと入れ替え可能です。
LiteSpeed Web Serverは有料のソフトウェアになりますが、LiteSpeedから機能をはぶいたOpenLiteSpeedというOSSがコミュニティベースで開発されており、気軽に利用することができます。
Apacheと互換性があるので.htaccessが使用可能であり、またApacheよりもはるかに処理速度が速いです。
欠点としてはまだまだ新しいWebサーバであるせいか、無料版ではまだまだ著しい機能の制限がある事(有料版でも無料プランがあるが登録と月ごとの更新が必要)と、かゆい所に手が届かないのと、それが手軽に使えるVPSのコントロールパネルがCyberPanelさん位しか今はない事が挙げられます。
今後の発展に期待したいです。
最後に
どうでしたでしょうか?
ホームページ作成の根幹となる大事な部分で、できるだけ分かりやすく説明してみたつもりでしたが、分かりやすかったでしょうか?
もし分かりにくかったらコメント等でご指摘いただけると幸いです。
あと過去記事でaaPanelでApacheでPerl等のCGIスクリプトを動かす設定についての記事を書いた事がありますが、調べてみた所NginxでもCGIを動かす事ができるらしいです。
![](https://www.unix-power.net/networking/wp-content/uploads/2019/07/fcgi.jpg)
上の記事が詳しいです。
私も調べてみて、機会があったら独自にまとめてみようと思います。
NginxでCGIが動かせるとなったら最近流行りとなっている、ぜろちゃんねるプラスの改良版による、掲示板の設立の可能性がサーバの処理速度の観点から広がるのでとても良いかなと思っています。
私としても楽しみです。
コメント