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

Comment configurer les blocs de serveur Nginx sur Ubuntu et CentOS

Dans ce didacticiel, nous allons vous fournir des instructions étape par étape sur la configuration des blocs de serveur nginx sur Ubuntu 16.04 et CentOS 7. Les blocs de serveur Nginx sont souvent utilisés pour exécuter plusieurs sites Web sur une seule adresse IP.

Notez que ce didacticiel concerne uniquement Nginx. Si vous utilisez Apache, vous devrez configurer des hôtes virtuels

1. Installer Nginx sur Ubuntu

Assurez-vous que les packages du système d'exploitation de votre serveur sont entièrement à jour :

apt-get update 
apt-get upgrade

Arrêtez et supprimez Apache, puis installez nginx à l'aide des commandes suivantes :

service apache2 stop
apt-get remove apache2
apt-get autoremove
apt-get install nginx

Supprimez le fichier de configuration nginx par défaut :

rm /etc/nginx/sites-enabled/default

Activez le service nginx pour qu'il démarre au démarrage et démarrez-le :

systemctl enable nginx
systemctl start nginx.service

2. Installez Nginx sur CentOS

Assurez-vous que tous les packages du système d'exploitation sont à jour en exécutant les commandes suivantes :

yum clean all
yum update

Arrêtez et supprimez Apache s'il est installé et en cours d'exécution sur votre serveur virtuel :

systemctl stop httpd
systemctl disable httpd
yum remove httpd

Installez nginx :

yum install nginx

De plus, vous pouvez installer PHP et MariaDB, alors exécutez la commande suivante :

yum install nginx mariadb mariadb-server php php-fpm php-cli php-curl php-gd php-mbstring php-mysql php-xml

Modifiez le fichier de configuration /etc/php-fpm.d/www.conf et modifiez :

user = apache
group = apache

à :

user = www-data
group = www-data

Exécutez la commande suivante :

chown www-data: -R /var/lib/php/session

Démarrez les services PHP-FPM, Nginx et MariaDB et activez-les au démarrage :

systemctl start php-fpm
systemctl start nginx
systemctl start mariadb
systemctl enable php-fpm
systemctl enable nginx
systemctl enable mariadb

3. Configurer nginx et configurer les blocs de serveur nginx

Configurons les directives principales dans le fichier de configuration principal de nginx nommé "nginx.conf". Il doit se trouver dans le répertoire /etc/nginx/ de votre serveur.

vi /etc/nginx/nginx.conf
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;

utilisateur – un utilisateur qui possédera et exécutera le serveur nginx.

worker_processes – en général, il est préférable de définir la configuration nginx worker_processes sur le nombre de processeurs. Si, par exemple, vous utilisez notre plan SSD 4 VPS, définissez worker_processes sur 4.

Pour vérifier le nombre de CPU sur votre serveur, vous pouvez utiliser la commande suivante :

#cat /proc/cpuinfo | grep processor | wc -l

4

pid – l'emplacement où nginx écrira son ID de processus maître, ou PID.

Si vous utilisez CentOS, créez un nouveau fichier de configuration Nginx pour votre site Web :

vi /etc/nginx/conf.d/domain1.com.conf

Ajoutez le contenu suivant :

server {
    server_name www.domain1.com domain1.com;
    listen 80;
    root /var/www/html/domain1.com;
    access_log /var/log/nginx/domain1.com-access.log;
    error_log /var/log/nginx/domain1.com-error.log;
    index index.php;
 
    location / {
        try_files  $uri $uri/ /index.php?$args;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

}

Si vous avez besoin d'héberger plusieurs sites Web sur le même serveur (en utilisant la même adresse IP), vous pouvez créer un nouveau bloc de serveur. Il est préférable de créer un nouveau fichier de configuration pour chaque site Web.

Par exemple, créez un deuxième fichier de configuration nginx nommé /etc/nginx/conf.d/domain2.com.conf et ajoutez le même contenu que /etc/nginx/conf.d/domain1.com.conf , mais assurez-vous de remplacer domaine1.com avec le deuxième nom de domaine, y compris la racine du document de votre site Web, l'emplacement des fichiers journaux, etc. :

server {
    server_name www.domain2.com domain2.com;
    listen 80;
    root /var/www/html/domain2.com;
    access_log /var/log/nginx/domain2.com-access.log;
    error_log /var/log/nginx/domain2.com-error.log;
    index index.php;
 
    location / {
        try_files  $uri $uri/ /index.php?$args;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }

    location ~ \.php$ {
        try_files $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }

}

Si vous utilisez le système d'exploitation Ubuntu, créez le fichier de configuration nginx "domain1.com.conf" dans le répertoire /etc/nginx/sites-available.

vi /etc/nginx/sites-enabled/domain1.com.conf

(ajoutez le même contenu que le contenu répertorié ci-dessus, c'est-à-dire /etc/nginx/conf.d/domain1.com.conf sur un serveur CentOS).

Ensuite, créez un lien symbolique depuis ce fichier vers le répertoire sites-enabled :

ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Répétez la même procédure et créez de nouveaux fichiers de configuration pour tous les autres sites Web hébergés sur le serveur.

4. Testez la configuration Nginx

nginx -t

Si le test est réussi, redémarrez le service Nginx :

systemctl restart nginx

Téléchargez les fichiers de votre site Web dans les répertoires /var/www/html/domain1.com , /var/www/html/domain2.com /var/www/html/domainN.com.

L'utilisateur du serveur Web (www-data) doit avoir accès aux répertoires /var/www/html/domain1.com , /var/www/html/domain2.com , /var/www/html/domainN.com . Cela peut facilement être accompli en exécutant la commande suivante :

chown -R www-data:www-data /var/www/html/

Bien sûr, vous n'avez pas besoin de Comment configurer les blocs de serveur Nginx sur Ubuntu et CentOS, si vous utilisez l'un de nos services d'hébergement VPS Nginx, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer le serveur nginx blocs pour toi. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la configuration des blocs de serveur Nginx sur Ubuntu et CentOS, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.


Cent OS
  1. Comment configurer Nginx en tant que proxy inverse sur Ubuntu 20.04

  2. Configurer le serveur DHCP sur CentOS 8 - Comment faire ?

  3. Comment configurer le serveur et le client NFS sur Ubuntu 20.04

  4. Comment activer HTTP/2 dans Nginx sur Ubuntu et CentOS

  5. Comment changer le nom d'hôte sur CentOS et Ubuntu

Comment installer Nginx sur CentOS

Comment installer et configurer un serveur OpenVPN sur Ubuntu 22.04

Comment installer et configurer Gitlab CE Server sur Centos 8

Comment installer Nginx sur CentOS 6

Comment configurer le serveur DHCP sur CentOS 8

Comment configurer le serveur et le client NFS sur CentOS 8