PHPでできたWebServer
BayServerは横浜ベイキットが開発しているオープンソースの爆速Webサーバーです。
Java版、Ruby版、Python版、PHP版が存在し、すべて同じロジックで動作しています。
ここではPHP版のインストール方法を解説します。
Webサーバ自体がPHPでできているので、ApacheやNginxなどをインストールすることなく、WordPressなどを動かすことができます。
PHPだけあれば動くというのがポイントかと思います。
なお、BayServerはFCGIのクライアントにもサーバーにもなれるので、Apache + BayServerのような構成も可能ですし、BayServer + PHP-FPMという構成も可能です。
前提条件
BayServer for PHPはWindows/Mac/Unixいずれのプラットフォームでも動作します。
BayServer for PHPを実行するのに必要なのは PHP7.4 以上の実行環境です。
インストールされていなかったらインストールしておきましょう。
ダウンロードと解凍
ここからダウンロードします。執筆時点のバージョンは2.0.2でした。
https://baykit.yokohama/download/
解凍し、ディレクトリの移動をします。
$ tar zxf BayServer_PHP-2.0.2.tgz
$ cd BayServer_PHP-2.0.2/
実行
$ bin/bayserver.sh
Cannot load Xdebug - it was already loaded
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . BayServer Home: /home/mp/Downloads/BayServer_PHP-2.0.2/bin/.. (at BayServer.php:139)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . BayServer Plan: /home/mp/Downloads/BayServer_PHP-2.0.2/bin/../plan/bayserver.plan (at BayServer.php:167)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . PHP interpreter: php-cgi (at PHPCGIDocker.php:31)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . 町を初期化しています: /cgi-demo/ 場所: /home/mp/Downloads/BayServer_PHP-2.0.2/www/cgi-demo (at BuiltInCityDocker.php:77)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . 町を初期化しています: / 場所: /home/mp/Downloads/BayServer_PHP-2.0.2/www/root (at BuiltInCityDocker.php:77)
----------------------
/ BayServer \
-----------------------------------------------------
\ Version 2.0.2 /
\ Copyright (C) 2021 Yokohama Baykit /
\ http://baykit.yokohama /
---------------------------------------------
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . TCPポートを開いています: :2020 [h1] (at BayServer.php:217)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . TCPポートを開いています: :2024 [h1] (at BayServer.php:217)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . TCPポートを開いています: :2025 [ajp] (at BayServer.php:217)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . TCPポートを開いています: :2029 [fcgi] (at BayServer.php:217)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . グランドエージェントを開始します: Agt1 (at GrandAgent.php:164)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . グランドエージェントを開始します: Agt2 (at GrandAgent.php:164)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . グランドエージェントを開始します: Agt3 (at GrandAgent.php:164)
[Wed, 30 Nov 2022 19:52:18 +0900] INFO . グランドエージェントを開始します: Agt4 (at GrandAgent.php:164)
ブラウザから確認
http://localhost:2020/ にアクセスしてみます
トップページが表示されればOKです。
ちなみに、ドキュメントルートは www/root になります。
BayServerの使い方
BayServerの使い方は本家サイトにたくさんドキュメントがあるのでこちらを参照してください。