サーバーの種類
サーバのOSには、商用UNIX(Solaris、HP-UX、AIX)、フリーUNIX(Linax、FreeBSD)、Windows Serverなどがあります。代表的なサーバは以下のとおりです。
- ウェブサーバとは
- HTML、画像ファイルなどをウェブブラウザへ配信するサーバー。CGI、SSIなどの拡張機能やアクセス認証、ログファイル出力なども行う。
- データベースサーバとは
- データベースを保有し、クライアントから検索や更新などの要求を受けたときに処理を行い、結果をアプリケーションに返すサーバー。
代表例:Oracle(日本オラクル)、SQL Server(マイクロソフト)
- DNSサーバとは
- コンピュータのリクエストに対し、ホスト名を元に DNS に登録された情報を検索して IP アドレスを調べて返すサーバー。イントラネットでは、IP アドレスを管理に使われたり電子メールのアドレスの設定にも使用される。
- メールサーバとは
- 電子メールを受信するための「POPサーバ」と送信するための「SMTPサーバ」の2種類ある。タイトルや本文に応じて処理を切り替えたり(POPサーバ)、入力フォームに入力した情報を、管理者にメール送信したり(SMTPサーバ)することができる。
ウェブサーバの運用
ウェブサーバの運用方法には、専用サーバ、共有サーバ、VPS に分けられます。
- 専用サーバとは
- サーバを単一のユーザが占有できるサーバ。設定やソフトウェアのインストールを自由にすることができる。比較的コストは高い。
- 共用サーバとは
- 複数のユーザが使用する共有サーバ。プログラムのインストールや設定などが制限されており、アクセス負荷のリスクもあるがコストは低い。
- VPS とは
- 仮想占有サーバ(Virtual Priate Server)の略。物理的には共用サーバなのでコストは低いが、ソフトウェアを使用して仮想的に専用サーバのように利用できる。
Apache の設定
主なApacheの設定に、DocumentRoot、DirectoryIndex、mod_rewrite などがあります。
- DocumentRoot とは
- ウェブサーバのファイルシステム上のどのフォルダがURLにおけるトップ階層になるかの対応を定義する記述のこと。
例:ローカルホストで動作しているApacheの設定ファイルに
DocumentRoot /var/www/htdocs/ の記述があり有効である場合
http://localhost/web/index.html へアクセスした時のファイルシステムは/var/www/htdocs/web/index.html へのアクセスになる。
- DirectoryIndex とは
- URLの最後に / が指定されたときに応答されるファイルを指定する。
http://localhost/ を要求する場合、http://localhost/index.html の存在を確認してあればファイルを返す。DirectoryIndex に index.htm が記述されていない場合は 403 Forbiddenと表示される。
例:ローカルホストで動作しているApacheの設定ファイルに
DirectoryIndex index.html index.htm index.php の記述がある場合
http://localhost/ を要求すると
index.html と index.htm と index.php を順番に検索して返してくる。
- mod_rewrite とは
- ApacheのモジュールのひとつでアクセスURLを正規表現で書き換える、いわゆるリダイレクト(URIのリライト)の処理を行う。
システム運用のリスク対策
サーバの稼働率(可用率)でどの程度問題なく使用できるかがわかります(99.9%なら年間8.76時間のダウンタイムが想定される)。大規模自然災害時のディザスタリカバリなどを前提に復旧対策を検討する必要があります。
サーバのパフォーマンスを上げるために、スケールアップとスケールアウトなどの方法があります。また、サーバのデータ保護のためにRAIDという方法がとられることがあります。
- スケールアップとは
- CPUなどの機能自体の性能を上げること。
- スケールアウトとは
- サーバの数を複数台に増やして負荷を分散させること。
- RAID とは
- 複数台のハードディスクを使用して書き込むデータに冗長性を持たせること。
バックエンドシステムとは
バックエンドシステムとは、ユーザーからの要求に対してデータの処理を行い、その結果をユーザーに送信するなど、ユーザーに見えない後方にあるデータベース・サーバやサーバーサイド技術のことです。Eコマース、サーチエンジン、アクセス解析、入力フォーム、 Flashとの連動によるインタラクティブな表現など、さまざまなものが存在します。
LAMPとは
LAMPとは、Linux+Apache+MySQL+PHP/Perl/Pytho の略。データベース連動型のWebアプリケーションの開発で人気の高い定番のオープンソースソフトの組み合わせで、OSにLinux、WebサーバにApache、データベースにMySQL、プログラミングにPHP(またはPerlかPython)を用いたシステムのことです。データベースにPostgreSQLを使う組み合わせはLAPPといいます。
RDBMSとは
リレーショナルデータベースマネンジメントシステム(Relational DataBase Management System)の略。
リレーショナルデータベースを管理するソフトウェアのことをいいます。データの一つ一つをカラム(列)と、レコード(行)の中にまとめ、それらをテーブル(表)の中に並べます。1件のデータを複数の項目(フィールド)の集合として表現する方式で、ID番号や名前などのキーとなるデータを利用してデータの結合や抽出を容易に行うことができます。データの操作や定義を行うためのデータベース言語は、SQL を使うのが一般的です。商用としては「Oracle Database」「IBM DB2」、オープンソースとしてはMySQL が代表的。
サーバーサイドスクリプトとは
サーバーサイドスクリプトとは、ウェブ上で動く掲示板やチャットなどを作成するのに便利なプログラム言語です。サーバーサイドスクリプトの種類は以下のとおり。代表的なものに、PHP、CGI、JSP、ASPなどがあります。
- PHPとは
- ハイパーテキスト プリプロセッサー(Hypertext Preprocessor)の略。
ウェブサーバに置かれるソフトウエアのApacheモジュールとして動作するオープンソースのサーバーサイドスクリプト言語。特にウェブ開発に適しており、HTMLに埋め込むことができる。記述されたスクリプトをPHPが実行し、結果をHTMLデータとしてウェブブラウザに出力する。クライアントサイドスクリプトのJavaScript と違い、コードがサーバーで実行され、その結果がクライアントに送信されるためユーザーは出力を作成したコードに何があるかを見分けることができない。
フォームからデータを取得したり、動的にページの内容を生成したり、Cookieを送信・受信するといった他のCGIプログラムにできることを実現できる。PHPではリクエストのたびにプログラムを起動することがなく、サーバーに負担がかかりにくいためCGIと比べて処理速度が速い。
- CGIとは
- コモン ゲートウェイ インターフェース(Common Gateway Interface)の略。
フォームが送信したデータはウェブサーバを経由してプログラムに渡される。このサーバとプログラムの間のやり取りの手順(仕組み)をCGI(CGIプログラム)という。プログラムがデータベースなどの外部プログラムを実行することが考えられたため、橋渡し役(Gateway)とのやり取りのルール(Interface)という名前が付いている。CGIプログラムはPerl やCなどがよく使われる。自作のCGIプログラムをアップロードして利用できるプロバイダもある。
- JSPとは
- ジャバ サーバ ページ(Java Server Pages)の略。
Java言語を利用してウェブサーバで動的にウェブページを生成し、クライアントに送信する技術。HTMLファイルの中にJavaプログラムを埋め込んでおき、クライアントの要求に応じてプログラムを実行、処理結果のみをクライアントに送信する。結果は通常のHTML形式になるため、ウェブブラウザに特殊な機能を組みこむことなくウェブアプリケーションを構築できる。
- ASPとは
- Microsoft社のウェブサーバであるIISで利用できるウェブサーバの拡張機能の一つ。通常はウェブブラウザに渡されてから処理されるJavaScriptやVBScriptなどで記述されたスクリプトをサーバ側で処理し、処理結果のみをブラウザに送信する。ブラウザからデータを受け取ってファイルに記録したり、データベースと連携した動的なウェブページを作成したりすることができる。
サーブレットとは
サーブレットとは、Javaサーブレット(Java Servlet)のことです。ウェブサーバ上で実行されるモジュール(部品)化されたJava言語のプログラムで、ウェブサーバの機能を拡張できます。OSやハードウェアに依存することがなく、サーブレットAPIを実装したあらゆるウェブサーバで稼動させることができます。ブラウザからウェブサーバーのサーブレットが呼び出されると、HTML文書を動的に生成してブラウザに返送します。
アクセスログ解析とは
アクセスログ解析とは、ウェブページのPV、訪問者数、ヒット数などの閲覧記録を分析することをいいます。アクセスログ解析ツールには、ウェブビーコン を使って特定するものなどがあります。
- PVとは
- ページビュー(Page View)の略。
ウェブページが表示される回数を基準にするアクセス数。
- ユーザ数とは
- 訪問者の合計数で、同じユーザが複数回アクセスしてもカウントされる。
- ユニークユーザ数とは
- 同じユーザが複数回訪問しても1としてカウントされる。
- ヒット数とは
- ウェブサーバに対して要求された全てのファイル数。HTMLだけでなくCSS、JS、GIFファイルなども含まれる。