Как установить сервер приложений FrankenPHP в Ubuntu

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.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x