Recherche de site Web

FrankenPHP : L’avenir des serveurs d’applications PHP modernes


FrankenPHP est un serveur d’applications moderne pour PHP qui améliore les performances et les capacités des applications PHP. Il est construit sur un autre serveur appelé serveur Web Caddy, qui aide les développeurs à exécuter efficacement des applications PHP sans avoir besoin de serveurs Web traditionnels comme Apache ou Nginx.

FrankenPHP peut rendre vos applications PHP plus rapides en gardant votre application en mémoire après le premier chargement, de sorte qu’elle n’a pas à repartir de zéro à chaque requête, ce qui peut conduire à des améliorations significatives de la vitesse.

Avec FrankenPHP, vous n’avez pas besoin de configurer des processus séparés comme PHP-FPM (FastCGI Process Manager) et un serveur web comme Nginx ou Apache. Tout fonctionne au même endroit, ce qui facilite la gestion.

Ce guide vous guide tout au long du processus d’installation de FrankenPHP sur Ubuntu 24.04 en quelques étapes simples.

Étape 1 : Installer PHP dans Ubuntu 24.04

Tout d’abord, commencez par mettre à jour vos packages système pour vous assurer que vous disposez de la dernière version du logiciel.

sudo apt update
sudo apt upgrade -y

Ensuite, vous devez installer certains packages essentiels, y compris PHP et d’autres bibliothèques requises.

sudo apt install zip unzip curl -y

Une fois les dépendances requises installées, vous pouvez installer PHP 8.4 à partir du PPA d’Ondrej, qui fournit les dernières versions de 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

Étape 2 : Installer FrankenPHP dans Ubuntu 24.04

Maintenant que PHP est installé, vous pouvez procéder à l’installation de FrankenPHP en utilisant la commande curl suivante.

curl https://frankenphp.dev/install.sh | sh
sudo mv frankenphp /usr/local/bin/

Étape 3 : Exécution de votre application PHP

Pour servir votre application PHP à l’aide de FrankenPHP, créez un répertoire et un script php simple pour votre application web.

mkdir -p ~/my-app && cd ~/my-app
echo '<?php echo "Hello, FrankenPHP!"; ?>' > index.php

Pour diffuser le contenu du répertoire courant, exécutez :

sudo frankenphp php-server

Ouvrez votre navigateur et naviguez jusqu’à l’adresse suivante pour voir le message "Bonjour, FrankenPHP !“.

http://localhost/
Or
http://ip-address/

Étape 4 : Configuration de Nginx en tant que proxy inverse

L’utilisation d’un proxy inverse comme Nginx améliore la gestion des demandes, ajoute une couche de sécurité supplémentaire et simplifie la configuration SSL/TLS.

sudo apt install -y nginx

Créez un nouveau fichier de configuration.

sudo nano /etc/nginx/sites-available/frankenphp

Ajoutez la configuration suivante :

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;
    }
}

Remplacez yourdomain.com par votre nom de domaine actuel.

Ensuite, activez la configuration et rechargez nginx.

sudo ln -s /etc/nginx/sites-available/frankenphp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Étape 5 : Configurer SSL/TLS pour les connexions sécurisées

Pour vous assurer que FrankenPHP fonctionne efficacement et en toute sécurité dans un environnement de production, vous devez installer Certbot, qui est un outil populaire pour obtenir et renouveler des certificats SSL gratuits de 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
Conclusion

FrankenPHP est maintenant installé et fonctionne sur votre système Ubuntu 24.04. En suivant ces étapes, vous avez configuré un runtime PHP hautes performances adapté aux applications Web modernes.

Pour les configurations avancées, reportez-vous à la documentation FrankenPHP.

Articles connexes: