ウェブサイト検索

FrankenPHP: 最新の PHP アプリ サーバーの未来


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

FrankenPHP は、最初の読み込み後にアプリケーションをメモリ内に保持することで、PHP アプリケーションの実行を高速化します。そのため、リクエストごとに最初から開始する必要がなく、速度の大幅な向上につながります。

FrankenPHP を使用すると、PHP-FPM (FastCGI プロセス マネージャー) や Web サーバーなどの個別のプロセスをセットアップする必要はありません。 > Nginx またはApache。すべてが 1 か所で実行されるため、管理が容易になります。

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

ステップ 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 アプリケーションを提供するには、Web アプリケーション用のディレクトリと単純な PHP スクリプトを作成します。

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

現在のディレクトリのコンテンツを提供するには、次を実行します。

sudo frankenphp php-server

ブラウザを開いて次のアドレスに移動すると、「Hello, 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 が運用環境で効率的かつ安全に実行されるようにするには、Let’s Encrypt から無料の SSL 証明書を取得および更新するための一般的なツールである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
結論

FrankenPHPUbuntu 24.04 システムにインストールされ、実行されています。これらの手順に従うことで、最新の Web アプリケーションに適した高パフォーマンスの PHP ランタイムがセットアップされました。

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

関連記事: