FrankenPHP是一款现代的PHP应用服务器,能够增强PHP应用程序的性能和功能,它是建立在另一台名为Caddy Web服务器的服务器之上,可帮助开发人员高效运行PHP应用程序,而无需使用Apache或Nginx等传统Web服务器。
FrankenPHP可以在第一次加载后将你的应用程序保留在内存中,从而使你的PHP应用程序运行得更快,因此它不必在每次请求时从头开始,这可以显著提高速度。此外,使用FrankenPHP时,无需设置单独的进程,例如PHP-FPM(FastCGI进程管理器)和Web服务器(如Nginx或Apache ),所有的一切都在一个地方运行,使其更易于管理。
在本文当中,小编主要介绍基于Ubuntu 24.04系统安装FrankenPHP的大致过程。如果你有这方面的开发使用需求,不妨一起来看看吧。
步骤1:在Ubuntu 24.04中安装PHP
首先通过更新你的系统包来确保拥有最新的软件,命令如下:
sudo apt update
sudo apt upgrade -y
接下来需要安装一些必需的软件包,包括PHP和其它所需的库:
sudo apt install zip unzip curl -y
安装所需的依赖项后,可以从Ondrej的PPA安装PHP 8.4,它提供了最新版本的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
步骤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/
或者
http://ip-address/
注意:将ip-address替换成你的服务器IP地址
步骤4:将Nginx设置为反向代理
使用像Nginx这样的反向代理可以改善请求处理,从而增加额外的安全层,并简化SSL/TLS配置:
sudo apt install -y nginx
创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/frankenphp
添加以下配置:
server {
listen 80;
server_name ecscoupon.com www.ecscoupon.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;
}
`
}
替换ecscoupon.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在生产环境中高效、安全地运行,还需要安装Certbot,它是从Let's Encrypt获取和更新免费SSL证书的流行工具:
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通过与现代Web技术的无缝集成,为开发者提供了更强大的功能,其核心基于PHP的传统优势,同时优化了现代Web应用程序的运行性能和开发体验。
实际上,FrankenPHP代表了一种将PHP推向现代Web开发的新方式,使得开发者能够更高效地构建高性能的Web应用程序。对于更多高级功能设置,可以查看FrankenPHP文档。