WEBサーバについて

この記事は約7分で読めます。

今回はWEBサーバについての説明です。
自身のWEBサイトを持とうと考えている方なら、後にレンタルサーバを契約するというのが一般的です。
その際に悩まないような情報を記載しています。


WEBサーバとは?

WEBサーバとは、WEBサイトのデータを格納・提供するための端末です。
WEBクライアントへ安定してWEBサイトのデータを提供するために、WEBサーバは安定した駆動を求められます
そのため、WEBサーバとして用いられるコンピュータは、一般的なコンピュータより高性能です。
また、安定した駆動をするように作られたOS(オペレーションシステム)を搭載しています。
個人や、大きくない会社の場合、レンタルサーバを契約することが多いです。
レンタルサーバの利点として、セキュリティ対策等が事前にされていたり、主要な機能(PHP・WordPressなど)の実装が簡単だったりします。

WEBサーバの種類

WEBサーバの要素として、以下があります。

  1.  OSは何か?
  2.  サーバソフトは何か?
  3.  データベースは何か?
  4.  バックエンド言語は何か?

レンタルサーバの場合、1〜3の変更は難しいため、指定がある場合は事前確認が必要です。

WEBサーバのOSについて

WEBサーバのOSは、LinuxWindowsの2択です。
以下に各OSの特徴を説明します。

● Linuxサーバの特徴
 ①CUIである
 CUIなのでUI部の負荷が低く、同等スペックのWindowsサーバと比較すると、安定度が高い
 ③CUIなのでコマンドなど操作方法を覚える必要がある
 ④レンタルサーバの場合、契約価格が低い

● Windowsサーバの特徴
 ①GUIである
 ②GUIなのでUI部の負荷が高く、同等スペックのLinuxサーバと比較すると、安定度が低い
 GUIで、Windowと同じ操作感である
 ④レンタルサーバの場合、契約価格が高い

サーバソフトについて

主流のサーバソフト3点(Apache/nginx/Microsoft IIS)を以下に説明します。

● Apache (Linux/Windows)
 Apache(アパッチ)は、たいへん人気のあるサーバソフトです。
 フリーソフトで1995年にリリースされ、2021年4月までシェア1位でした。
 現在ではシェア2位となっています。
 1995年リリースのため、ネット上に技術情報も多く、実装する上であまり困ることがありません。
 Apacheのメリットとして、CPU処理速度が早いことと、機能が豊富であることが挙げられます。
 CPU処理速度が早いと、「バックエンドのプログラムが多い」や「動画が多い」場合でも、軽快にサービスを提供できます。
 一方、1ユーザーに割り当てるリソース量(CPUやメモリの消費量)が多くなるため、並列処理が苦手となります。
 並列処理の例として、SNSのような多くのユーザが同時に通信をするWEBサービスが挙げられます。
 レンタルサーバを契約する場合、Apacheを実装しているレンタルサーバが多いです。

● nginx (Linux/Windows)
 nginx(エンジンエックス)は、現時点では、一番普及しているサーバソフトです。
 オープンソースで2004年に公開されました。2021年5月にApacheを追い越しシェア1位となりました
 Apacheよりも難しいと言われますが、現在ではネット上の技術情報も十分にあるので、実装に困ることはあまりないと考えています。
 nginxも機能は豊富ですが、Apacheが苦手とする並列処理が得意です。
 Apacheとnginxでは設計思想が違い、nginxはメモリ消費量を抑えるように設計されています。
 一方、CPU消費が大きくなる「バックエンドのプログラムが多い」や「動画が多い」という動的な処理には向かないというデメリットがあります。
 レンタルサーバを契約する場合、nginxを実装しているレンタルサーバを探す必要があります。

● Microsoft IIS (Windowsのみ)
 Microsoft IISは、Windows向けのサーバソフトです。
 IISはInternet information service の略です。
 シェア率は5位ほどです。
 GUIであるWindows向けに作られた、GUIソフトウェアなので視覚的に設定ができ、初心者には敷居が低いです。
 また、Windowsならでは、バックエンド言語として.net(C#/VB)と親和性があります。

データベースについて

データベースは、例えばブログ記事などのデータを保管しておくために使用します。
WordPressサイトでは、記事の数だけWEBページがある訳ではありません。
記事を表示するためのWEBページ(枠組み)に、記事のデータを入れ込むことにより、枠組み1つでいくつものWEBページがあるように表現できます。
一般的にはRDB(リレーショナル・データベース)が多いですが、RDB以外のDBも存在します。
RDBはSQL言語という、データベース操作言語でデータの取得・更新を行うことができます。
お勧めのデータベース3点(MySQL・MariaDB/Microsoft SQL Server/PostgreSQL)を以下に紹介します。
※以下に紹介するデータベースは、すべてRDBです

● MySQL・MariaDB
 MySQLとMariaDBはフリーソフトで、ほとんど同一の動作が行えます。
 有名なCMSソフトである、WordPressのデータベースと使用されています。
 また、XAMPPという、WEB開発パッケージ内に含まれることも有名です。
 以下は豆知識なので、読まなくてもOKです。
 もともとはMySQLのみだったのですが、ある背景からMySQLとMariaDBに分岐することになります。
 その背景とは、oracleによるMySQLの買収です。
 oracleはoracle dbという、シェア1位のデータベース(主に有料)を所有しています。
 MySQLはシェア2位で、oracleにとっては競合でした。
 この買収によって、シェアを広げたいoracleが、MySQLを潰したり、無償を辞めるのではないかと懸念しました。
 そして、その抑止力となるように出来たのがMariaDBとなります。
 結果として、現在も素晴らしいデータベースを無料で使用することができています。

● Microsoft SQL Server
 Microsoft SQL Serverは、Windows Serverと親和性が高く、GUIが豊富なので初心者にとって敷居が低いです。
 小規模であれば、無料で使用することもできますが、基本的な使用であれば有料と考えたほうが良いです。
 データベースのシェアは3位です。

● PostgreSQL
 PostgreSQLはMySQLより複雑です。
 ORDB(オブジェクトリレーショナルデータベース)といって簡単に機能を説明すると、以下のようなことができます。
 ・独自の関数を追加できる
 ・XMLやJSONなど、様々なデータ型に対応している(通常RDBは帳票データ型のみ対応)
 ・複雑なクエリを実行する場合はMySQLよりも高速である

バックエンド言語について

バックエンド言語は、レンタルサーバーの場合でも、基本的に追加が可能です。
以下にバックエンド言語を3点、紹介します。

● PHP
 PHPはバックエンド言語として人気です。
 現在でも、アップデートが進んでいて成長性があります。
 また、プログラム言語の中では学習コストは低めです。
 HTML記述内に書けることも、特徴の一つです。
 人気のCMSであるWordPressはPHPで作成されています。

● Ruby
 Rubyもバックエンド言語として人気です。
 PHP同様に現在でも、アップデートが進んでいて成長性があります。
 プログラム言語の中では学習コストは低めです。

● C#
 C#はMicrosoft IISを使用する場合に、使用するバックエンド言語です。
 WEB開発としては一般的ではなく、個人的にはあまりお勧めではありません。

レンタルサーバについて

レンタルサーバについて、現時点での3選を紹介します。
もっと安いレンタルサーバは多くあるのですが、そこそこのアクセス(100万PV程)でも安定稼働をするという前提での選定です。

● ConoHa WING
 現状、コストパフォーマンスが一番高いレンタルサーバだと思います。

料金1年契約:約950円/3年契約:約680円
運営時期2018年~
サーバソフトnginx + Apache
スペック(容量/CPU/メモリ/RAID)300GB/6コア/8GB/RAID10
DBMariaDB
バックエンド言語PHP/Ruby/Python/Perl
メルマガ

● エックスサーバー
 運営歴が長く、機能面で少しConoHa WINGに勝っています。
 ただし、コストパフォーマンスはConoHa WINGに劣ります。

料金1年契約:約1100円/3年契約:約990円
運営時期2003年~
サーバソフトnginx + Apache
スペック(容量/CPU/メモリ/RAID)300GB/6コア/8GB/RAID10
DBMariaDB
バックエンド言語PHP/Ruby/Python/Perl
メルマガ

● mixhost
 マッチングサービスや大人向けのコンテンツも運営することができます。
 逆に、上記を運営する予定がない場合、ConoHa WINGもしくはエックスサーバーのほうが良いです。


この記事を書いた人

たくみ
たくみ

兼業サラリーマンをしている、たくみと言います!

自身のためにも、皆さんの役に立つ記事を投稿していきます!

WEB技術やPC関連情報が得意分野です。

コメント

タイトルとURLをコピーしました