Maison > développement back-end > tutoriel php > Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour améliorer les performances des services Web ?

Comment configurer le serveur proxy Nginx à l'aide de conteneurs Docker pour améliorer les performances des services Web ?

PHPz
Libérer: 2023-09-05 19:10:01
original
1221 Les gens l'ont consulté

Comment configurer le serveur proxy Nginx à laide de conteneurs Docker pour améliorer les performances des services Web ?

Comment configurer le serveur proxy Nginx à l'aide du conteneur Docker pour améliorer les performances des services web ?

Vue d'ensemble :
Dans les applications Internet modernes, les serveurs Web jouent un rôle essentiel. Pour offrir de meilleures performances et évolutivité, l'utilisation de serveurs proxy pour équilibrer la charge et mettre en cache les ressources statiques est devenue une solution courante. Cet article expliquera comment utiliser les conteneurs Docker pour configurer le serveur proxy Nginx et montrera comment améliorer les performances des services Web en optimisant la configuration.

Étape 1 : Installer et configurer Docker
Tout d’abord, nous devons installer Docker dans le système. Docker peut être installé en exécutant la commande suivante dans le terminal :

sudo apt-get update
sudo apt-get install -y docker.io
Copier après la connexion

Une fois l'installation terminée, vous pouvez vérifier que Docker est correctement installé en exécutant la commande suivante :

docker --version
Copier après la connexion

Étape 2 : Créer le conteneur du serveur proxy Nginx
Avant configuration du serveur proxy Nginx, nous devons créer un conteneur Docker pour exécuter Nginx.

Tout d'abord, créez un nouveau dossier pour enregistrer le fichier de configuration Nginx et le certificat SSL :

mkdir nginx-proxy
cd nginx-proxy
Copier après la connexion

Ensuite, créez un fichier nommé nginx.conf et enregistrez la configuration suivante dans Dans le fichier : nginx.conf的文件,并将下面的配置保存到文件中:

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        
        location / {
            proxy_pass http://<backend_ip>:<backend_port>;
        }
    }
}
Copier après la connexion

在上述配置中,<backend_ip><backend_port>需要替换为实际的后端服务器IP地址和端口号。

步骤3:构建和运行Nginx代理服务器容器
在终端中运行以下命令来构建和运行Nginx代理服务器容器:

sudo docker run -d -p 80:80 -v $(pwd)/nginx.conf:/etc/nginx/nginx.conf --name nginx-proxy nginx
Copier après la connexion

上述命令中,-d参数表示将容器作为守护态运行,-p 80:80参数将容器的80端口与主机的80端口进行映射,-v $(pwd)/nginx.conf:/etc/nginx/nginx.conf参数将当前目录下的nginx.conf文件挂载到容器的/etc/nginx/nginx.conf路径下,--name nginx-proxy参数指定容器的名称为nginx-proxynginx为使用的镜像名称。

运行上述命令后,将会创建并启动一个名为nginx-proxy

curl http://localhost
Copier après la connexion

Dans la configuration ci-dessus, <backend_ip> et <backend_port> doivent être remplacés par l'adresse IP et le numéro de port réels du serveur backend.


Étape 3 : Créez et exécutez le conteneur du serveur proxy Nginx

Exécutez la commande suivante dans le terminal pour créer et exécuter le conteneur du serveur proxy Nginx :

location ~* .(css|js)$ {
    expires 7d;
}
Copier après la connexion

Dans la commande ci-dessus, le paramètre -d indique que le conteneur sera utilisé comme démon Run in state, le paramètre -p 80:80 mappe le port 80 du conteneur au port 80 de l'hôte, -v $(pwd)/nginx. conf:/etc/nginx/nginx. Le paramètre conf monte le fichier nginx.conf dans le répertoire courant dans /etc/nginx/nginx.conf. chemin du conteneur, -- Le paramètre name nginx-proxy spécifie le nom du conteneur comme nginx-proxy, et nginx est le nom de l’image utilisée.


Après avoir exécuté la commande ci-dessus, un conteneur Docker nommé nginx-proxy sera créé et démarré, qui exécutera le serveur proxy et le proxy Nginx selon le fichier de configuration fourni.

    Étape 4 : Testez le serveur proxy Nginx
  1. Pour nous assurer que le serveur proxy Nginx fonctionne correctement, nous pouvons utiliser la commande curl ou accéder à la méthode suivante dans le navigateur pour tester :
  2. gzip on;
    gzip_min_length 1000;
    gzip_types text/plain text/html text/css application/javascript;
    Copier après la connexion
Si tout est normal, le résultat de la réponse du serveur backend sera renvoyé.
  1. Étape 5 : Optimiser les performances du serveur proxy Nginx
  2. Afin d'améliorer encore les performances du serveur proxy Nginx, certaines opérations d'optimisation peuvent être effectuées. Voici quelques méthodes d'optimisation courantes :
  1. Activer la mise en cache : ajoutez les directives de mise en cache appropriées dans le fichier de configuration Nginx pour mettre en cache les ressources statiques. Par exemple, vous pouvez ajouter la directive suivante pour mettre en cache les fichiers CSS et JS :
  2. listen 443 ssl http2;
    Copier après la connexion
    Activer la compression Gzip : Ajoutez la directive suivante pour activer la compression Gzip afin de réduire la quantité de données transférées :


    rrreee

    🎜Ajustez le nombre de Processus de travail : en fonction de la configuration du système et en fonction de la situation de charge, ajustez de manière appropriée le nombre de processus de travail Nginx pour équilibrer les performances et la consommation de ressources. 🎜🎜Utiliser le protocole HTTP2 : si le serveur backend prend en charge le protocole HTTP2, vous pouvez activer le protocole HTTP2 en ajoutant la directive suivante : 🎜🎜rrreee🎜Résumé : 🎜En utilisant le conteneur Docker pour configurer le serveur proxy Nginx, nous pouvons facilement créer un serveur proxy hautes performances Serveur Web. En optimisant la configuration, nous pouvons encore améliorer les performances et l'évolutivité du service. J'espère que cet article pourra vous aider à mieux comprendre comment utiliser Docker et Nginx pour créer et optimiser des services Web. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal