
FrankenPHP 是一种现代 PHP 应用服务器,它提升了 PHP 应用程序的性能和功能。它基于 Caddy Web 服务器构建,无需传统的 Apache 或 Nginx 服务器即可高效运行 PHP 应用程序。
通过将应用程序保存在内存中,FrankenPHP 可以显著加快 PHP 应用的响应速度,因为它避免了每次请求都从头加载的情况。
使用 FrankenPHP,无需单独设置 PHP-FPM(FastCGI 进程管理器)和 Web 服务器(如 Nginx 或 Apache)。一切都集成在一起,便于管理。
以下是在 Ubuntu 24.04 上安装 FrankenPHP 的简单步骤。
第一步:在 Ubuntu 24.04 中安装 PHP
首先,更新系统软件包以确保您使用的是最新版本。
sudo apt update
sudo apt upgrade -y
接下来,安装一些必要的软件包,包括 PHP 和其他所需的库。
sudo apt install zip unzip curl -y
安装 PHP 8.4 版本,可通过 Ondrej 的 PPA 源获得最新的 PHP 版本:
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
第二步:在 Ubuntu 24.04 中安装 FrankenPHP
PHP 安装完成后,可以使用以下命令安装 FrankenPHP:
curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/
第三步:运行您的 PHP 应用程序
要通过 FrankenPHP 提供 PHP 应用服务,先创建一个目录并添加简单的 PHP 脚本:
mkdir -p ~/my-app && cd ~/my-app
echo '<?php echo "Hello, FrankenPHP!"; ?>' > index.php
运行以下命令以提供当前目录的内容:
sudo frankenphp php-server
在浏览器中访问以下地址,查看显示的消息“Hello, FrankenPHP!”:
http://localhost/
或
http://IP地址/
第四步:设置 Nginx 作为反向代理
通过反向代理(如 Nginx),可以改进请求处理,增加安全层,并简化 SSL/TLS 配置。
安装 Nginx:
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
第五步:为安全连接配置 SSL/TLS
为了确保 FrankenPHP 在生产环境中的高效和安全运行,可以安装 Certbot 来获取和更新 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
至此,FrankenPHP已成功安装并运行在您的 Ubuntu 24.04 系统上。按照以上步骤,您已搭建了一个高性能的 PHP 运行环境,适合现代 Web 应用程序的需求。











