ApacheとNginxが「息切れ」するとき:なぜOpenLiteSpeedを選ぶべきなのか?
Eコマースのインフラを担当していると、顧客が注文を確定しようとしている瞬間にサーバーが「フリーズ」するのが最も恐しい事態です。以前は、安定性の高さからApache + PHP-FPMの組み合わせが「王道」の選択肢でした。しかし、トラフィックが2,000〜3,000 CCU(同時接続数)に達すると、Apacheは膨大なRAMを消費し、システムのレスポンスが極端に遅くなってしまいます。
Nginxは速度面での救世主ですが、`.htaccess`ファイルが使えないという欠点があります。NginxでWordPressのRewrite Ruleを設定するのは非常に手間がかかり、セミコロン一つ間違えるだけでサイト全体がダウンしてしまいます。
OpenLiteSpeed (OLS) は、これら両方の問題を解決します。Nginxのようなイベント駆動型アーキテクチャを採用しながら、Apacheのルールも理解できるのです。実際のテストでは、OLSはApacheの3〜5倍のトラフィックを処理でき、一方でRAMリソースの消費は60%以上抑えられることが分かっています。
実戦比較:OpenLiteSpeed vs. Nginx vs. Apache
以下は、2 vCPU / 4GB RAMのサーバー構成での実戦経験に基づくクイック比較表です:
- Apache: 互換性は極めて高いが、秒間500〜700リクエストに達するとボトルネックが発生しやすい。
- Nginx: 高負荷に強く静的ファイルの処理は超高速だが、PHP(PHP-FPM)の設定がやや煩雑。
- OpenLiteSpeed: LSAPIによりPHPの処理速度最速。特に、標準搭載のキャッシュ機能 LSCache がデータベースの負荷を大幅に軽減する。
ハードウェアをアップグレードせずにTTFB(Time to First Byte)を200ms以下に最適化することが目標なら、OLSは比類なき選択肢となります。
CentOS Stream 9でのOpenLiteSpeed構築手順
これは、私がクライアントのサーバーをセットアップする際によく使う「チェックリスト」です。環境は、CentOS Stream 9のクリーンインストール済みサーバーを想定しています。
ステップ1:公式リポジトリの設定
CentOSのデフォルトリポジトリにはOLSが含まれていません。最新版をインストールするために、LiteSpeedの公式リポジトリを追加する必要があります。
sudo rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el9.noarch.rpm
上記のコマンドを実行した後、キャッシュをクリアしてシステムが新しいパッケージを認識できるようにします:
sudo dnf clean all
ステップ2:OpenLiteSpeedとPHP 8.3のインストール
OLSは、LSPHPと呼ばれる独自に最適化されたPHPバージョンを使用します。現在、PHP 8.3は8.2に比べてスクリプトの処理性能が約10%向上しています。新規プロジェクトではこのバージョンを使用することをお勧めします。
sudo dnf install openlitespeed lsphp83 lsphp83-common lsphp83-mysqlnd lsphp83-gd lsphp83-process lsphp83-mbstring lsphp83-xml lsphp83-opcache lsphp83-bcmath lsphp83-pdo
システムが必要な依存関係を自動的に取得します。このプロセスは、サーバーのネットワーク速度にもよりますが、通常1〜2分程度で完了します。
ステップ3:Web管理アカウントの作成
設定ファイルを直接編集する代わりに、OLSではポート7080のWebインターフェース経由ですべてを管理できます。以下のスクリプトを実行して、管理者のユーザー名とパスワードを設定してください:
sudo /usr/local/lsws/admin/misc/admpass.sh
ヒント:管理ポートはブルートフォース攻撃の標的になりやすいため、複雑なパスワードを設定してください。
ステップ4:ファイアウォールのポート開放
CentOS Stream 9は `firewalld` によってセキュリティが厳格に管理されています。ポートを開放しないと、Webサイトにアクセスできません。80 (HTTP)、443 (HTTPS)、7080 (管理画面)、8088 (OLSテストポート) を開放する必要があります。
sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp,7080/tcp,8088/tcp}
sudo firewall-cmd --reload
ステップ5:サービスの状態確認
サーバーの再起動時にOpenLiteSpeedが自動起動するように設定します:
sudo systemctl enable --now lsws
sudo systemctl status lsws
ステータスが `active (running)` になっていれば、`http://あなたのIPアドレス:8088` にアクセスしてください。LiteSpeedの「Congratulations」ページが表示されれば準備完了です。
Web管理画面での詳細設定
`https://あなたのIPアドレス:7080` にログインして詳細な設定を開始します。注意:まだ正規のSSL証明書をインストールしていないため、ブラウザに警告が表示されますが、「アクセスを続行」をクリックしてください。
ポート8088からポート80への変更
ウェブサイトをドメイン上で正式に公開するには、標準のポート80に変更する必要があります:
- 左側のメニューから Listeners を選択します。
- Default行の View アイコンをクリックします。
- Edit を押し、`8088` を `80` に変更します。
- Save をクリックします。設定を反映させるために、必ず Graceful Restart(赤いアイコン)を押してください。
LSPHP 8.3をデフォルトとして設定
インストールしたPHP 8.3をサーバーが正しく認識するように、Server Config -> External App に移動します。ここで、lsphpの実行パス(Command)を `$SERVER_ROOT/lsphp83/bin/lsphp` に変更します。
LSCacheの真価
OLSの最大の魅力は LSCache です。ApacheからOLSにデータを移行したあるプロジェクトでは、LSCacheを有効にするだけで、TTFBが1.2秒から0.15秒に短縮されました。
一般的な静的キャッシュプラグインとは異なり、LSCacheは非常にスマートな「パージ(キャッシュ削除)」機能を備えています。記事を更新した際、他のページに影響を与えることなく、その記事のキャッシュのみを削除します。これにより、数千件の記事があるサイトでも、サーバーは常に最高のパフォーマンスを維持できます。
重要な注意点: OLSは `.htaccess` をサポートしていますが、ファイルを編集しても自動的には再読み込みされません。新しいプラグインをインストールしたり、WordPressのパーマリンク設定を変更したりするたびに、OLS管理画面で Graceful Restart を実行する必要があります。
おわりに
CentOS Stream 9にOpenLiteSpeedをインストールすることは、低コストで高速なWordPressサイトを運用するための最適な方法です。このガイドが、自信を持ってサーバーを構築する助けになれば幸いです。もし「403 Forbidden」エラーが発生したり、データベースに接続できない場合は、SELinuxの設定や `html` フォルダの権限を再確認してみてください。

