Comment installer nginx avec php-fpm sur centos 8

Comment installer nginx avec php-fpm sur centos 8

La façon courante d'exécuter PHP avec Nginx est le module FastCGI. Le PHP-FPM (FastCGI Process Manager) augmente considérablement les performances de votre environnement NGINX / PHP. C'est donc utile pour les sites Web de grande charge. Ce tutoriel vous aidera à configurer PHP-FPM avec Nginx sur Centos 8 et Rhel 8 Linux System.

Préalables

  • Le système nouvellement installé est recommandé de suivre la configuration initiale du serveur.
  • Accès à la coque au système CentOS 8 avec le compte privilèges sudo.

Étape 1 - Installer Nginx

Les packages Nginx sont disponibles dans le référentiel Appstream par défaut. Vous pouvez simplement mettre à jour le cache DNF et installer des packages de serveur Web Nginx à l'aide des commandes suivantes.

sudo dnf mise à jour sudo dnf installer nginx 

Une fois l'installation de packages démarre le service Nginx, permettez également au service Nginx de démarrer automatiquement sur le démarrage du système.

sudo systemctl activer nginx sudo systemctl start nginx 

Étape 2 - Installez PHP avec PHP-FPM

Le référentiel REMI contient les derniers packages PHP pour le système CentOS 8 Linux. Donc, tout d'abord, vous devez ajouter le référentiel REMI à votre système. Exécutez simplement la commande suivante pour ajouter le référentiel.

sudo dnf installer dnf-utils http: // rpms.remirepo.Net / Enterprise / REMI-Release-8.RPM 

Ensuite, activez le module DNF requis pour l'installation de PHP. Ici, nous permettons le module pour installer PHP 7.4. Vous pouvez changer cela en php 7.3 ou php 7.2 selon vos exigences.

module sudo dnf réinitialiser le module dnf php sudo activer php: remi-7.4 

Maintenant, installez le PHP sur votre système. Comme nous allons utiliser FastCGI Process Manager (FPM) pour cette configuration. Alors installez également le package PHP-FPM.

sudo dnf mise à jour sudo dnf installer php php-fpm php-gd php-mysqlnd 

Vous pouvez également avoir besoin de plus de modules PHP, alors installez-les avant de passer ensuite. Après avoir terminé l'installation de PHP, activez le service PHP-FPM et démarrez-le.

sudo systemctl activer php-fpm sudo systemctl start php-fpm 

Assurez-vous que le service PHP-FPM fonctionne.

Sudo Systemctl Status Php-fpm ● PHP-FPM.Service - Le gestionnaire de processus PHP FastCGI chargé: chargé (/ usr / lib / systemd / system / php-fpm.service; désactivé; Vendor Preset: Disabled) Active: Active (Running) Depuis le lundi 2019-12-09 21:44:57 PST; 1h 24min il y a Pid principal: 29280 (PHP-FPM) Statut: "Processus actifs: 0, inactif: 5, demandes: 3, lent: 0, trafic: 0req / sec" Tâches: 6 (limite: 10321) Mémoire: 24.6m cgroup: / système.tranche / php-fpm.Service ├fique.Conf) ├─29281 PHP-FPM: Pool www ├fique : 44: 57 Tecadmin.exemple.com Systemd [1]: Démarrage du gestionnaire de processus PHP FastCGI… Dec 09 21:44:57 Tecadmin.exemple.com systemd [1]: a commencé le gestionnaire de processus PHP FastCGI. 

Étape 3 - Configurer PHP-FPM

À cette étape, vous avez installé tous les packages requis. Commençons le processus de configuration. Tout d'abord, modifiez le fichier de configuration PHP-FPM:

sudo vim / etc / php-fpm.d / www.confli 

Faire les modifications comme ci-dessous. Les dernières versions de Nginx peuvent se connecter à la prise à l'aide d'un proxy. Alors assurez-vous que l'écoute est définie sur un fichier de socket.

Ensuite définir l'utilisateur et regrouper le même serveur Nginx en utilisant. Si vous avez besoin de connecter FPM à partir d'un système distant Changement.Autorisé_CLIENTS à LAN IP au lieu de 127.0.0.1.

; Écouter = 127.0.0.1: 9000 écouter = / run / php-fpm / www.Sock User = www-data Group = www-data écouter.ALLIMED_CLIENTS = 127.0.0.1 écouter.propriétaire = www-data écouter.groupe = www-data écouter.mode = 0660 pm = dynamique
1234567891011; Écouter = 127.0.0.1: 9000Listen = / Run / Php-fpm / www.chaussette utilisateur = www-datagroup = www-data écouter.ALLIMED_CLIENTS = 127.0.0.1 coquette.propriétaire = www-datalisten.groupe = www-datalisten.mode = 1660pm = dynamique

Après avoir apporté des modifications à redémarrer le service PHP-FPM pour appliquer les modifications.

sudo systemctl redémarrer php-fpm 

Étape 4 - Créer un bloc de serveur Nginx

Maintenant, créez un bloc de serveur dans NGINX pour votre domaine et configurez-le pour utiliser PHP-FPM pour traiter les fichiers PHP. Créez un fichier de blocs de serveur et modifiez dans un éditeur de texte:

sudo vim / etc / nginx / confr.d / exemple.com.confli 

Maintenant ajouté la configuration proxy à l'aide d'un fichier de socket. A également configuré tout le script PHP pour utiliser le gestionnaire FPM pour l'exécution.

server écouter 80 default_server; Exemple de nom.com www.exemple.com; root / var / www / html; # Chargez des fichiers de configuration pour le bloc de serveur par défaut. inclure / etc / nginx / par défaut.d/*.conf; Emplacement / Emplacement ~ * \.php $ # avec php-fpm Unix sockets fastcgi_pass Unix: / run / php-fpm / www.chaussette; Inclure FastCGI_PARAMS; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;
12345678910111213141516171819server écouter 80 default_server; Exemple de nom.com www.exemple.com; root / var / www / html; # Chargez des fichiers de configuration pour le bloc de serveur par défaut. inclure / etc / nginx / par défaut.d/*.conf; Emplacement / Emplacement ~ * \.php $ # avec php-fpm Unix sockets fastcgi_pass Unix: / run / php-fpm / www.chaussette; Inclure FastCGI_PARAMS; fastcgi_param script_filename $ document_root $ fastcgi_script_name; fastcgi_param script_name $ fastcgi_script_name;

Enregistrez le fichier de configuration du bloc de serveur et redémarrez le service Nginx pour appliquer les modifications.

sudo systemctl redémarrer nginx 

Étape 5 - Activer les règles du pare-feu

Votre serveur est prêt à servir l'application. S'il y a un pare-feu activé sur votre système, assurez-vous que les ports HTTP sont ouverts à l'accès à partir de systèmes distants.

Les commandes suivantes ouvriront les ports requis pour vous.

Sudo Firewall-Cmd --zone = public --permanent --add-Service = Http sudo Firewall-Cmd --zone = public --permanent --add-Service = https sudo firewall-cmd --reload 

Étape 6 - Configuration du test

Terminé. Pour tester l'environnement, créez un script PHP avec phpinfo () fonction. Placez ce fichier à la racine du document de votre serveur. Utilisez la commande ci-dessous pour le faire.

écho ""> / var / www / html / info.php 

Puis accéder aux informations.PHP à l'aide de l'adresse IP du serveur (pour VirtualHost par défaut) pour votre domaine configuré dans le bloc de serveur Nginx.

http: // localhost / info.php 

Faites glisser la page et vérifiez la valeur de $ _Server ['Server_software'] dans la section des variables PHP. Cela vous montrera le nom du serveur Web en cours d'exécution.

Conclusion

Vous avez configuré avec succès un NGINX avec PHP-FPM sur votre système CentOS 8 ou RHEL 8 Linux. Vous pouvez désormais héberger un site Web à partir de votre serveur.