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