GNU/Linux >> Tutoriels Linux >  >> Cent OS

Installez Nginx + Php FPM + APC sur CentOS 6.4

Serveur LEMP

Un serveur lemp exécute Nginx serveur Web avec Php et Mysql ou MariaDB sur un Linux système. Nginx devient de plus en plus populaire en raison de sa structure légère et de sa capacité à gérer de grandes quantités de trafic de manière optimale. Mariadb est le remplaçant de mysql car mysql n'est plus très libre. Dans ce tutoriel, nous allons configurer Nginx avec Php FPM sur CentOS. Les instructions pour installer MariaDB seront traitées dans un autre article.

CentOS est un système d'exploitation très populaire pour les serveurs Web basés sur Linux. CentOS (Community Enterprise Operating System) est basé sur RHEL (RedHat Enterprice Linux) et est 100% binaire compatible avec celui-ci. Pour nous, cela signifie simplement qu'il est similaire à rhel dans son fonctionnement et son environnement et que nous avons la commande pratique yum disponible pour installer facilement des logiciels à partir des référentiels. Dans cet exemple, nous travaillerons sur CentOS 6.4 qui, au moment de cet article, est une version récente.

Installer Nginx

La première étape consiste à installer le serveur Web Nginx. Nginx n'est pas disponible dans les référentiels CentOS par défaut, mais nginx fournit des référentiels spécifiques centos pour une utilisation facile.

Ajouter le référentiel nginx

Nous créons un fichier de référentiel dans le répertoire /etc/yum.repos.d

$ nano /etc/yum.repos.d/nginx.repo

Ouvrez maintenant le fichier et ajoutez les lignes suivantes. Ces instructions sont fournies directement par Nginx.

[nginx]name=nginx repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=0enabled=1

Sauver et fermer. Nginx peut maintenant être installé.

$ yum installer nginx

Ce qui précède téléchargera et installera le serveur Web nginx et le rendra prêt à l'emploi.
Une fois l'installation terminée, il est temps de faire une inspection. Utilisez d'abord la commande de service pour vérifier l'état de nginx.

[[email protected] ~]# le service nginx statusnginx est arrêté

Ce qui précède montre que le service nginx est là mais est arrêté. Vérifiez ensuite la configuration à l'aide de l'option t avec la commande nginx.

[[email protected] ~]# nginx -tnginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi

La commande ci-dessus indique que la configuration est OK et que tout est prêt à être exécuté. Et surtout, il indique également l'emplacement du fichier de configuration nginx. Pour créer des hôtes virtuels/plusieurs domaines, il est important de créer des fichiers de configuration distincts pour chaque hôte. Les configurations des hôtes virtuels se trouvent dans /etc/nginx/conf.d/

OK, maintenant, démarrons le serveur nginx.

[[email protected] conf.d]# service nginx startDémarrage de nginx :[ OK ]

Maintenant, nginx est opérationnel. Trouvez l'adresse IP du serveur nginx à l'aide d'ifconfig et connectez-vous à cette adresse IP à partir d'un navigateur pour la tester.

http://192.168.1.4/

Vous devrez peut-être ouvrir le port 80 sur le serveur centos, s'il n'est pas déjà ouvert. Consultez ce tutoriel pour savoir comment ouvrir le port http sur centos. Une fois ouverte, l'adresse IP du serveur nginx devrait charger la page avec un contenu comme celui-ci

Bienvenue sur nginx ! Si vous voyez cette page, le serveur Web nginx est installé et fonctionne avec succès. Une configuration supplémentaire est requise.Pour la documentation et l'assistance en ligne, veuillez consulter nginx.org.L'assistance commerciale est disponible sur nginx.com.Merci d'utiliser nginx.

Créer un hôte virtuel

Les hôtes virtuels ou "Server Blocks" comme nginx les appelle, permettent à nginx de servir plusieurs hôtes en fonction d'un nom. Par exemple, il peut héberger ensemble abc.com et cde.com. Tout ce dont il a besoin est un fichier de configuration pour chaque hôte contenant les paramètres spécifiques à l'hôte comme le répertoire racine, etc.

Le répertoire /etc/nginx/conf.d/ contient un fichier de configuration default.conf qui contient les paramètres d'un hôte virtuel qui fonctionnera via http://localhost/

Vérifiez le fichier et il affichera l'emplacement des fichiers Web qui s'appelle la racine.

emplacement / { root /usr/share/nginx/html ; index index.html index.htm; } 

Donc, notre fichier Web (.html, .php et tout) doit être placé dans /usr/share/nginx/html répertoire.

Pour créer plus d'hôtes virtuels, copiez simplement le fichier default.conf et modifiez les paramètres de chemin racine et de nom_serveur pour qu'ils correspondent à ceux de votre domaine/hôte.

$ cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/monsite.conf

Modifiez maintenant monsite.conf et configurez les paramètres tels que le répertoire racine et le nom_du_serveur.
Ensuite, testez votre configuration nginx et redémarrez le serveur. Cela devrait créer le nouvel hôte virtuel.

Autorisations de fichier

Lors de la configuration du répertoire racine pour les fichiers Web, il faut s'assurer que les fichiers et tous les répertoires parents sont lisibles par "groupe" et "autres" sur le système. Par exemple, des autorisations de 0755. Nginx ne serait pas en mesure de lire les fichiers si les répertoires parents ne sont pas lisibles.

Par exemple, si vous choisissez de placer vos fichiers Web dans le répertoire suivant

/home/joe/public_html

Assurez-vous ensuite que les répertoires home et joe sont lisibles par le groupe et les autres. Sinon, même si les fichiers Web sont lisibles par d'autres, mais pas le répertoire parent joe, alors nginx ne serait pas en mesure de lire les fichiers et le journal des erreurs contiendrait des messages comme celui-ci

open() "/home/joe/public_html/index.html" a échoué (13 :autorisation refusée)

Installer PHP et FPM

Maintenant que le serveur nginx est opérationnel, la tâche suivante consiste à installer l'interpréteur php afin que les fichiers .php puissent être traités par nginx.

Étant donné que php-fpm fait déjà partie du référentiel CentOS, nous n'avons pas besoin de créer une autre entrée de référentiel comme celle que nous avons faite pour le package nginx. Donc, pour installer php-fpm, nous pouvons simplement utiliser la commande yum.

$ yum install php-fpm

Vous pouvez utiliser l'option "-C" si vous ne voulez pas que yum mette à jour les données du référentiel avant d'installer les packages.

Vérifiez maintenant l'état du service php-fpm

# service php-fpm statusphp-fpm est arrêté

Alors démarrez-le

# service php-fpm startDémarrage de php-fpm :[ OK ][[email protected] ~]#

Il est maintenant temps de créer un script php et de le tester. Le répertoire des fichiers Web est /usr/share/nginx/html
Créez donc un fichier dans ce répertoire.

# nano /usr/share/nginx/html/phpinfo.php

Après cela, nous y ajoutons ce contenu.

<?php phpinfo();

Il est maintenant temps d'ouvrir le fichier via notre navigateur.

http://192.168.1.4/phpinfo.php

NON, cela ne fonctionnera pas encore, car nous n'avons pas configuré nginx pour exécuter des scripts php.

Configurer Nginx pour exécuter php

Nginx est déjà livré avec une configuration par défaut pour utiliser php fpm. Ouvrez le fichier /etc/nginx/conf.d/default.conf et décommentez les lignes suivantes.

# passe les scripts PHP au serveur FastCGI écoutant sur 127.0.0.1:9000#location ~ \.php$ { root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; inclure fastcgi_params ; }

Le SCRIPT_FILENAME est très important et doit pointer vers le bon emplacement, sinon vous continuerez à recevoir "Fichier introuvable". erreur.

Enregistrez le fichier et fermez-le. Testez maintenant votre nouvelle configuration nginx.

# nginx -tnginx :la syntaxe du fichier de configuration /etc/nginx/nginx.conf est oknginx :le test du fichier de configuration /etc/nginx/nginx.conf est réussi[[email protected] ~]#

La configuration est correcte. Maintenant, redémarrez nginx pour que la nouvelle configuration prenne effet.

# service nginx restartArrêt de nginx :[ OK ]Démarrage de nginx :[ OK ][[email protected] ~]#

Fait. Ouvrez maintenant le script php dans votre navigateur et cela devrait fonctionner immédiatement.

http://192.168.1.4/phpinfo.php

Installer APC

APC est le cache php alternatif qui permet à php de mettre en cache à la fois les données utilisateur et l'opcode. Cela rend l'exécution de php plus rapide que d'habitude. Le package pour APC est disponible dans le référentiel de base lui-même, nous n'avons donc pas besoin de configurer de référentiels supplémentaires.

Installez-le immédiatement en utilisant yum.

# yum install php-pecl-apc

Redémarrez maintenant php-fpm pour que apc soit activé

# service php-fpm restartArrêter php-fpm :[ OK ]Démarrer php-fpm :[ OK ][[email protected] php.d]#

Le fichier de configuration pour apc se trouve au chemin suivant.

/etc/php.d/apc.ini

Le même chemin est également mentionné dans la sortie de la fonction phpinfo() si vous souhaitez vérifier.
La section Configuration de la page phpinfo.php devrait avoir une section pour apc qui affiche les valeurs de diverses directives apc. Toutes ces directives peuvent être configurées dans le fichier apc.ini.

Remarques

1. Lors de la configuration des hôtes virtuels, le test de configuration nginx peut échouer avec une erreur comme celle-ci

# nginx -tnginx :[emerg] n'a pas pu créer le hash_nom_serveur, vous devez augmenter la taille_hash_bucket_nom_serveur :32nginx :le test du fichier de configuration /etc/nginx/nginx.conf a échoué

Pour corriger cette erreur, ouvrez le fichier de configuration principal de nginx situé dans /etc/nginx/nginx.conf et ajoutez la ligne suivante dans le bloc http.

server_names_hash_bucket_size 64 ;

Cela augmentera la taille du compartiment de hachage et corrigera l'erreur.


Cent OS
  1. Installer PHP 7.4 sur CentOS 8

  2. Comment installer PHP 5.5 sur CentOS

  3. Comment installer PHP 5.6 sur CentOS 7

  4. Comment installer PHP 7.3 sur CentOS 8

  5. Comment installer PHP 8 sur CentOS 7

Installez Nginx sur CentOS 7 / RHEL 7

Comment installer Nginx sur CentOS

Comment installer LEMP sur CentOS 7

Comment installer Nginx sur CentOS 6

Comment installer le serveur LEMP sur CentOS 8

Comment installer Nginx sur CentOS 7