ウェブサイト検索

FrankenPHP: 現代PHPアプリサーバーの未来


FrankenPHPは、PHPアプリケーションのパフォーマンスと機能を向上させる最新のアプリケーションサーバーです。これは、Caddyウェブサーバーと呼ばれる他のサーバーの上に構築されており、開発者がApacheやNginxのような従来のウェブサーバーを必要とせずにPHPアプリケーションを効率的に実行できるようにします。

FrankenPHP は、最初のロード後にアプリケーションをメモリに保持することで、PHP アプリケーションをより速く動作させることができます。これにより、毎回のリクエストでゼロから開始する必要がなくなり、速度が大幅に向上する可能性があります。

FrankenPHPを使用すると、PHP-FPM(FastCGIプロセスマネージャー)やNginx、Apacheのようなウェブサーバーのように、別々のプロセスを設定する必要がありません。すべてが1箇所で実行されるため、管理が簡単になります。

このガイドでは、Ubuntu 24.04 に FrankenPHP をインストールする手順を簡単なステップで説明します。

ステップ 1: Ubuntu 24.04 に PHP をインストールする

まず、最新のソフトウェアを確保するために、システムパッケージを更新してください。

sudo apt update
sudo apt upgrade -y

次に、PHPやその他の必要なライブラリを含むいくつかの必須パッケージをインストールする必要があります。

sudo apt install zip unzip curl -y

必要な依存関係がインストールされたら、最新のPHPバージョンを提供するOndrejのPPAからPHP 8.4をインストールできます。

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install php8.4 php8.4-cli php8.4-fpm php8.4-{bz2,curl,mbstring,intl,xml} -y
php -v

ステップ2: Ubuntu 24.04にFrankenPHPをインストールする

PHPがインストールされたので、次に以下のcurlコマンドを使用してFrankenPHPのインストールを進めることができます。

curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/

ステップ3:PHPアプリケーションを実行する

FrankenPHPを使用してPHPアプリケーションを提供するには、ディレクトリを作成し、ウェブアプリケーション用の簡単なPHPスクリプトを作成します。

mkdir -p ~/my-app && cd ~/my-app
echo '<?php echo "Hello, FrankenPHP!"; ?>' > index.php

現在のディレクトリの内容を提供するには、次のコマンドを実行します:

sudo frankenphp php-server

ブラウザを開いて、以下のアドレスに移動して「こんにちは、FrankenPHP!」というメッセージを見てください。

http://localhost/
Or
http://ip-address/

ステップ4: Nginxをリバースプロキシとして設定する

Nginxのようなリバースプロキシを使用すると、リクエスト処理が改善され、追加のセキュリティ層が加わり、SSL/TLSの設定が簡素化されます。

sudo apt install -y nginx

新しい設定ファイルを作成します。

sudo nano /etc/nginx/sites-available/frankenphp

次の設定を追加してください:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

yourdomain.com を実際のドメイン名に置き換えてください。

次に、設定を有効にしてnginxを再読み込みします。

sudo ln -s /etc/nginx/sites-available/frankenphp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

ステップ5: 安全な接続のためのSSL/TLSの設定

FrankenPHPが本番環境で効率的かつ安全に動作するようにするためには、無料のSSL証明書をLet's Encryptから取得および更新するための人気ツールであるCertbotをインストールする必要があります。

sudo apt install -y certbot
sudo apt install -y python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
sudo certbot renew --dry-run
結論

FrankenPHPは、あなたのUbuntu 24.04システムにインストールされて稼働しています。これらの手順に従うことで、最新のWebアプリケーションに適した高性能のPHPランタイムをセットアップしました。

高度な設定については、FrankenPHPのドキュメントを参照してください。

関連記事: