nginx a de nombreuses fonctions, telles que le proxy direct, le proxy inverse, l'équilibrage de charge, le proxy transparent, etc. De manière générale, c'est plus pratique à utiliser La plupart d'entre eux sont un proxy inverse et un équilibrage de charge. Il suffit de synchroniser le fichier de configuration localement pour terminer ces opérations. Pour créer un fichier de configuration nginx, vous devez d'abord créer un nouveau fichier nommé nginx.conf dans le répertoire /etc/nginx/
nginx1 répertoire nginx .conf doit également être créé, laissez simplement le contenu vide. Ensuite, vérifiez si l'image est normale :
Si vous n'avez pas encore téléchargé l'image, utilisez la commande suivante pour extraire l'image (la dernière version par défaut) :
docker pull nginx
Exécutez ensuite le conteneur :
docker run -itd -p 80:80 --name nginx001 -v /docker/nginx1/nginx.conf:/etc/nginx/nginx.conf nginx
Expliquez :
-itd : Activer mode interactif, simulation de terminal, exécution en arrière-plan# 🎜🎜#
Après avoir exécuté la commande ci-dessus, une chaîne aléatoire sera renvoyé pour indiquer que le conteneur a été créé avec succès :
# 🎜🎜#Afficher le conteneur en cours d'exécution :
# 🎜🎜#
Je ne vois pas nginx001, il doit être en cours d'exécution. Quelque chose s'est mal passé, jetons un œil au message d'erreur :#🎜🎜 #Signifie probablement que le nœud d'événements n'a pas été trouvé dans le fichier de configuration. Parce que le contenu du fichier que nous avons créé est vide, lors du démarrage du conteneur, le nginx.conf dans le répertoire correspondant est directement mappé à nginx.conf dans nginx001. Bien entendu, nginx avec une configuration vide ne peut pas s'exécuter.
Maintenant, vi vient de créer nginx.conf localement et de commencer à configurer :
J'en ai déployé un sur docker avant A simple . net core occupe le port local 1500. Maintenant, j'utilise nginx pour inverser le proxy du programme vers un nom de domaine spécifié et y accéder via le port 80. Une fois le fichier de configuration écrit, redémarrez le conteneur nginx001 :
Maintenant, nginx001 a été démarré avec succès. Accédez au nom de domaine qui vient d'être spécifié : #🎜🎜. ## 🎜🎜#
nginx la configuration a pris effet.
Enfin, essayons de voir si le redémarrage de Docker entraînera l'initialisation de la configuration :
Démarrez deux conteneurs : #. 🎜🎜#
Visitez la page :
Le data roll a été appliqué avec succès car La base de données n'est pas initialisée après le redémarrage de Docker. À l’avenir, vous n’aurez plus peur des pannes de Docker et des pertes de données.
SupplementL'attribut proxy_pass dans le fichier de configuration nginx, lorsqu'il est configuré dans un environnement non-docker, localhost ou 127.0.0.1 peut prendre effet normalement, mais lors de la configuration de nginx conteneur sous docker Lors de l'utilisation de localhost ou 127.0.0.1, il y a un petit trou qui empêche l'achèvement du proxy inverse réel. Parce que lorsque le conteneur est en cours d'exécution, Docker lui attribuera une adresse IP et un port distincts, puis mappera l'adresse IP occupée par Docker à l'adresse IP du conteneur (par exemple, après le démarrage de MySQL sous Docker, vous pouvez utiliser localhost pour vous connecter au client ). Mais lorsque nginx démarre, il lira d'abord le fichier de configuration et ne l'exécutera que si la configuration est correcte. Par conséquent, une fois le conteneur exécuté avec succès, Docker y mappera l'adresse IP locale. Ce n'est qu'en cas d'accès direct à l'aide de l'adresse IP du conteneur que si localhost ou 127.0.0.1 est écrit dans le fichier de configuration, le proxy inverse sera déclenché. Lors de la configuration de Nginx à l'aide de Docker sur le serveur, il vous suffit de saisir l'adresse IP du serveur pour terminer la configuration.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!