FrankenPHP — это современный сервер приложений для PHP, который повышает производительность и расширяет возможности PHP-приложений. Он построен на базе другого сервера под названием веб-сервер Caddy, который помогает разработчикам эффективно запускать PHP-приложения без использования традиционных веб-серверов, таких как Apache или Nginx.
FrankenPHP может ускорить работу ваших PHP-приложений, сохраняя их в памяти после первой загрузки, чтобы при каждом запросе не приходилось начинать с нуля, что может значительно повысить скорость.
С FrankenPHP вам не нужно настраивать отдельные процессы, такие как PHP-FPM (менеджер процессов FastCGI), и веб-сервер, такой как Nginx или Apache. Всё работает в одном месте, что упрощает управление.
В этом руководстве вы найдёте пошаговую инструкцию по установке FrankenPHP на Ubuntu 24.04.
Во-первых, начните с обновления системных пакетов, чтобы у вас было самое свежее программное обеспечение.
sudo apt update sudo apt upgrade -y
sudo apt install zip unzip curl -y
После установки необходимых зависимостей вы можете установить PHP 8.4 из PPA Ondrej, который предоставляет последние версии 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
Теперь, когда PHP установлен, вы можете продолжить установку FrankenPHP, используя следующую команду curl.
curl https://frankenphp.dev/install.sh | sh sudo mv frankenphp /usr/local/bin/
Чтобы запустить PHP-приложение с помощью FrankenPHP, создайте каталог и простой 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/
Использование обратного прокси-сервера, такого как 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
Чтобы FrankenPHP работал эффективно и безопасно в рабочей среде, вам нужно установить Certbot — популярный инструмент для получения и продления бесплатных SSL-сертификатов от Let’s Encrypt.
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, подходящую для современных веб-приложений.
Дополнительные сведения о конфигурациях см. в документации FrankenPHP.