Comment installer et configurer Nginx on CentOS 7
Nginx est un serveur Web très populaire en raison de ses performances et de sa facilité d'utilisation. Dans ce tutoriel, nous vous guiderons à travers l'installation et la configuration de base de Nginx on CentOS 7.
Dans le Serverspace vous pouvez créer un serveur avec l'application déjà installée "Nginx".
Pose Nginx
Si vous utilisez un utilisateur non root, vous devez disposer des droits sudo et ajouter à toutes les commandes sudo devant eux.
Pour installer Nginx, ajoutez le référentiel EPEL.
yum install epel-release -y
Nous allons maintenant installer Nginx, ainsi que l'éditeur de texte nano pour plus de commodité.
yum install nginx nano -y
Par défaut, Nginx est configuré pour fonctionner avec les deux IPv4 et les adresses IPv6. Si le dernier n'est pas configuré sur le serveur, comme dans mon cas, le serveur Web ne démarrera tout simplement pas. Par conséquent, nous passons immédiatement à la config :
ano /etc/nginx/nginx.conf
Trouvez la ligne suivante et commentez-la, c'est-à-dire placez un signe # au début :
listen [::]:80 default_server;
Résultat:
# listen [::]:80 default_server;
Enregistrons le fichier et vérifions la configuration pour les erreurs :
nginx -t
Sortie :
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Si votre sortie semble différente, elle indique quelles erreurs doivent être corrigées dans le fichier config.
Commençons maintenant Nginx et ajoutez-le à l'exécution automatique.
systemctl enable --now nginx
Si vous utilisez Firewall, vous devez ajouter une règle d'autorisation pour le serveur Web. Ci-dessous un exemple pour Firewalld, entrez les commandes dans l'ordre :
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload
Configuration de l'emplacement des fichiers du site
Par défaut, nginx affiche une page d'information sur le site. Configurons un emplacement différent pour les fichiers du site et ajoutons notre propre page. Commençons par créer les répertoires requis.
mkdir -p /var/www/default
Créons maintenant la page elle-même dans un nouveau dossier :
nano /var/www/default/index.html
Et ajoutez-y du contenu, qui peut être n'importe quoi. Par example:
<h1>My first web page</h1>
Définissons le propriétaire du répertoire et du fichier qu'il contient sur nginx utilisateur:
chown -R nginx:nginx /var/www/default/
Nous utiliserons l'hôte virtuel déjà dans le nginx configuration et remplacez la configuration de l'emplacement des fichiers du site. Pour ce faire, ouvrez le nginx configuration:
nano /etc/nginx/nginx.conf
Vous devez trouver le serveur section, qui commence par écouter 80 default_server ;, et en lui le racine parameter, qui définit le chemin d'accès aux fichiers du site. Remplaçons-le par le chemin /var/www/default/ nous venons de créer :
serveur { écouter 80 default_server ; # écouter [::]:80 default_server ; nom du serveur _; racine /var/www/default/; ...
Enregistrez le fichier et redémarrez nginx.
systemctl restart nginx
Maintenant, lorsque vous accédez à l'adresse du serveur à partir de la fenêtre du navigateur, vous verrez le contenu de la page nouvellement créée.
Configuration du traitement PHP
Pour travailler avec PHP, installez php-fpm :
yum install php-fpm
Exécutons-le maintenant et ajoutons-le au démarrage :
systemctl enable --now php-fpm
Ajouter à la nginx configuration à la fin de la même serveur section comme avant, paramètres pour travailler avec php-fpm :
nano /etc/nginx/nginx.conf
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
include fastcgi_params;
}
Recommencer nginx:
systemctl restart nginx
Créons un fichier pour tester la fonctionnalité php-fpm :
echo "" > /var/www/default/info.php
Ouvrons http://server-IP/info.php dans la barre d'adresse du navigateur et voir des informations sur PHP :