EC2上でWebサーバ LiteSpeedを使ってみる
こんにちは、コンサル部@大阪オフィスのTodaです。
AWSのEC2インスタンスでWebサーバを立ち上げる場合、どのようなソフトを利用していますか?Apache? Nginx? 2020年8月にQ-SuccessからWebサーバのシェアについて発表がありマイナビニュースさんが記事を出されていました。
Nginx系が増加し、Apache減少 - 8月Webサーバシェア
その中でLiteSpeedというWebサーバが5位にランクインしているのが気になり、実際にEC2にインストール、利用できる状態にしてみましたのでご紹介します。
LiteSpeedとは?
LiteSpeedはLiteSpeed Technologies社が開発したWebサーバでApacheと高い互換性を持ちつつ、パフォーマンスを大幅に上げたWebサーバになります。
提供は商用とオープンソースの2パターンに分かれています。
Apache互換ということでmod_rewrite、.htaccessなど多くの機能がそのまま利用できます。また操作が簡易に行えるように管理画面の機能が導入されています。
Webサーバの応答時間の比較は下記をご覧ください。
LiteSpeed (Comparing web server response time to requests)
実際にインストールしてみる
今回はLiteSpeedのオープンソース版であるOpenLiteSpeedをインストールします。
前提条件
テスト用のインフラは構築済み。
EC2はAmazon Linux2をインストールした状態で利用します。
EPELリポジトリの追加
yumコマンドでLiteSpeedをインストールする場合、下記のパッケージが不足していますとエラーが表示されます。パッケージを取得できるようにEPELリポジトリを追加します。
- lsphp73-7.3.21-1.el7.x86_64
- lsphp73-imap-7.3.21-1.el7.x86_64
- lsphp73-pecl-mcrypt-1.0.3-1.el7.7.3.x86_64
sudo amazon-linux-extras install -y epel
LiteSpeedリポジトリ追加と修正
LiteSpeedのサイトに掲載されているリポジトリを追加します。
sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el7.noarch.rpm
追加したリポジトリはCentOS用になるためAmazonLinux2で利用するとエラーになります。リポジトリの設定ファイルを調整して対応します。
sudo sed -i -e "s/\$releasever/7/g" /etc/yum.repos.d/litespeed.repo
LiteSpeedをインストール
yumコマンドを利用してインストールを行います。
sudo yum install openlitespeed
サービスの起動
インストールが完了すると下記コマンドにてLiteSpeedのサービスを起動する事ができます。
sudo /usr/local/lsws/bin/lswsctrl start
初期アカウント設定
LiteSpeedにはサーバの設定、状態確認ができる管理画面が導入されています。利用時にはアカウントとパスワードが必要なため下記コマンドで設定します。
sudo /usr/local/lsws/admin/misc/admpass.sh
User name [admin]: ログインアカウントID
Password : 任意パスワード
Retype password: 任意パスワード(確認)
アクセスとログイン
ブラウザで「http://【サーバのIP】:7080」にアクセスすることでログイン画面が表示されます。前の工程で作成したアカウントでログインが可能です。
※表示されない場合はセキュリティグループなどで 7080 のポートが制限を受けている場合があります。
日本語切換
LiteSpeedは日本語表示に対応をしています。管理画面上部の言語選択で切り替えます。
静的ページを公開してみる
HTTP(80)でアクセスできるようにリスナーを設定
ブラウザで静的ページを表示するためにLiteSpeedにHTTP(80)を設定します。設定は管理画面リスナー設定にておこないます。
リスナーの設定は最低限、下記設定をしています。
設定項目の内容で不明な箇所がある場合、項目名横の?マークにカーソルを合わせる事で詳細説明が表示されます。
- リスナー名:リスナー名 (例:HTTPListener)
- IPアドレス:アクセスできるIP (例:ANY or 192.168.1.*)
- ポート:利用するポート番号 (例:80)
設定後、保存ボタンをクリックします。保存ボタンは上部に配置されています。
バーチャルホストにお試し用のホストを設定
バーチャルホスト設定にお試し用のホストを追加します。
バーチャルホストの設定は最低限、下記設定をしています。
設定ファイルは保存する前にシステムで作成されます、保存するパスを指定するようにします。
- バーチャルホスト名:ホスト名
- Virtual Host Root:公開ディレクトリパス (例:/var/www/html)
- 設定ファイル:バーチャルホストの設定ファイルパス
※初期はファイル生成されるため、保存箇所の指定になります。
※LiteSpeedの推奨は $SERVER_ROOT/conf/vhosts/$VH_NAME/vhconf.conf です。
設定を保存すると「設定ファイルが存在しません」とエラーが表示されます。
エラーメッセージ横のCLICK TO CREATEをクリックする事でファイルが生成されます。
リスナーのホストマップに追加
バーチャルホストの設定が完了したらリスナーにホストの関連付けをおこないます。作成したリスナーの設定内にあるバーチャルホストマップから設定します。
バーチャルホストマップの設定でドメイン、サブドメインのバーチャルホストを設定する事ができます。ドメインの設定欄でワイルドカード指定で設定する事ができます。
今回はIPアドレスでアクセスをするため「*(アスタリスク)」を設定します。
- バーチャルホスト:選択にて関連付けするバーチャルホストを指定
- ドメイン:アクセス時のドメインをワイルドカードにて設定
www.example.com: 指定のドメインのみ指定
*.example.com: 指定ドメインのサブドメインも含めて指定
設定の反映
管理画面上部のボタンをクリックすることで反映されます。
ブラウザでアクセス
サーバのパブリックIPアドレスでアクセスする事で表示する事ができました。
まとめ
上記でLiteSpeedのインストールならびに静的コンテンツの掲載ができる状態になりました。
LiteSpeedにはPHP導入やHTTP/3、WordPressの高速表示などサポート機能が多く存在します。今回は細かい機能までご紹介できておりませんが近いうちにご紹介できればと考えております。