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.