Comment installer plusieurs versions PHP avec Nginx sur Ubuntu 18.04 et 16.04
- 2027
- 612
- Anaïs Charles
Généralement, le gestionnaire d'hébergement Web a utilisé un serveur séparé pour chaque déploiement d'application de version PHP. Ce qui augmente le coût d'hébergement. Alternativement, vous pouvez exécuter plusieurs conteneurs Docker pour plusieurs versions PHP.
Ce didacticiel vous aide avec l'installation et la configuration de deux VirtualHost sur le serveur Web Nginx avec différentes versions PHP. First VirtualHost fonctionnera avec PHP 5.6 et un autre VirtualHost fonctionnera avec PHP 7.2. Alors, passez par ce tutoriel. Vous pouvez également utiliser plus de deux versions PHP avec Nginx selon les besoins, mais ce tutoriel n'en couvre que deux.
Installation PHP
Pour l'installation des versions PHP, nous utilisons le PPA entretenu ici. Utilisez les deux commandes ci-dessous pour ajouter le PPA à votre système.
sudo apt installer python-software-properties sudo add-att-repository ppa: ondrej / php
Pour ce tutoriel, j'ai utilisé PHP 5.6 et php 7.2 pour le configurer avec le serveur Web Nginx. Pour utiliser les multiples versions PHP, nous utiliserons PHP FPM et FastCGI. Installons les packages suivants sur votre système.
APT MISE À JOUR AUDO APT INSTALLER PHP5.6 php5.6-fpm sudo apt installer php7.2 php7.2-FPM
Vous devrez peut-être également installer des modules PHP supplémentaires. Pour le tutoriel, seuls les packages ci-dessus sont requis.
Après l'installation, les services PHP-FPM seront démarrés automatiquement. Utilisez les commandes suivantes pour vous assurer que les deux services fonctionnent.
Sudo Systemctl Status PHP5.6 fpm sudo systemctl status php7.2-FPM
- Recommandé: comment activer / désactiver les modules PHP sur Ubuntu
Installation de Nginx
Le serveur Web Nginx est disponible dans le référentiel officiel Ubuntu. Lancez le terminal sur votre système ou connectez-vous avec SSH pour les systèmes distants. Exécutez les commandes suivantes pour installer la dernière version disponible du serveur Web Nginx.
sudo apt update sudo apt install nginx
Configuration Nginx
Préparez-vous pour la configuration des sites Web dans le serveur Nginx. À des fins de test, je configure deux sites Web pour travailler avec deux versions PHP différentes. Tout d'abord, créez deux répertoires sur votre serveur.
sudo mkdir / var / www / php56 sudo mkdir / var / www / php72
Maintenant, créez et indice.php contenant le phpinfo () fonction.
Echo ""> / var / www / php56 / index.php echo ""> / var / www / php72 / index.php
Après cela, créer des blocs de serveur pour les deux sites sur Nginx. La dernière version de Nginx conserve les fichiers de configuration du bloc de serveur sous / etc / nginx / répertoire disponibles sites. Créez un fichier pour le premier hôte virtuel et modifiez dans votre éditeur de texte préféré.
sudo vim / etc / nginx / sites-disponible / php56.exemple.com
Ajouter le contenu suivant. Assurez-vous d'utiliser le nom de serveur et le chemin du répertoire correct en fonction de votre configuration. Ce site Web est configuré pour fonctionner avec PHP 5.6.
# Application avec PHP 5.6 # Server écouter 80; root / var / www / php56; Index index.PHP; server_name php56.exemple.com; Emplacement ~ * \.php $ # avec php-fpm unix sockets fastcgi_pass Unix: / var / run / php / php5.6-FPM.chaussette; Inclure FastCGI_PARAMS; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
De même, créez un deuxième fichier de configuration VirtualHost pour travailler avec PHP 7.2. Modifier le fichier de configuration dans l'éditeur de texte:
sudo vim / etc / nginx / sites-disponible / php72.exemple.com
Ajoutez le contenu suivant pour fichier avec un nom de serveur et un document de document approprié.
# Application avec PHP 7.2 # Server écouter 80; root / var / www / php72; Index index.PHP; server_name php72.exemple.com; Emplacement ~ * \.php $ # avec php-fpm Unix sockets fastcgi_pass Unix: / var / run / php / php7.2-FPM.chaussette; Inclure FastCGI_PARAMS; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
Très bien, vous avez créé les deux sites Web dans votre nginx. Mais ils ne sont toujours pas actifs. Nginx garde les sites actifs sous / etc / nignx / répertoire compatible des sites. Vous pouvez simplement créer un lien symbolique pour les deux fichiers de configuration à ce répertoire ou utiliser la commande ci-dessous pour faire de même.
sudo ln -s / etc / nginx / sites-disponible / php56.exemple.com / etc / nginx / sites-compatible / sudo ln -s / etc / nginx / sites-disponible / php72.exemple.com / etc / nginx / sites compatible /
Après avoir apporté toutes les modifications à redémarrer Nginx pour recharger les nouveaux paramètres.
sudo systemctl redémarrer nginx.service
Votre configuration est terminée maintenant. Passez à l'étape suivante pour tester votre configuration.
Configuration de test
Terminé. Vous pouvez accéder aux deux sites de votre navigateur Web Favirote . Tu verras ça php56.exemple.com montre la version Php 5.6 et php72.exemple.com montre le Php 7.2 Comme la configuration.
Félicitations, votre système est prêt à héberger des sites Web avec différentes versions PHP. Hébergement heureux.
- « Comment monter une part de samba sur Ubuntu et Debian
- Comment installer nginx sur Ubuntu 18.04 et 16.04 »