Maison  >  Article  >  Opération et maintenance  >  Comment déployer Nginx sur Docker

Comment déployer Nginx sur Docker

王林
王林avant
2023-05-11 18:28:183026parcourir

1. Téléchargez l'image Nginx depuis docker

docker pull nginx

2. Créez le répertoire de montage

et placez les fichiers ici Mappez le répertoire correspondant à Nginx dans docker, vous n'avez donc pas besoin de modifier les fichiers dans le conteneur

mkdir -p /data/nginx/{conf,conf.d,html,logs}
.

3 .Afin de garantir l'exactitude des fichiers, il est recommandé d'entrer d'abord dans le conteneur et de copier les fichiers correspondants. Si cela ne vous convient pas, vous pouvez ouvrir deux fenêtres, en saisir une dans le conteneur et copier celle de gauche vers la gauche. c'est vrai. Ceci permet de garantir que les fichiers sont corrects

#启动容器
docker run -itd nginx /bin/bash
#进入容器
docker attach xxxxxxxxxx

DescriptionFichier de configurationDossier du fichier de configurationPage d'accueil dossier chemin htmlfichier journalthis C'est le répertoire de montage correspondant. Copiez le fichier nginx.conf et default.conf dans conf.d dans le dossier correspondant puis modifiez-le
Fichier Chemin de montage Chemin nginx
nginx.conf /data/nginx/conf/nginx .conf /etc/nginx/nginx. conf
dossier conf.d /data/nginx/conf.d /etc/nginx/conf.d
dossier html /data/nginx/html /usr/share/nginx/html
dossier journal /data/nginx/logs /var/log/ nginx

4. Ensuite, modifiez simplement le fichier default.conf

.

Tout ce que je peux faire ici est de changer le numéro de port, le chemin d'accès, etc.

server {
 
    #端口号
    listen       80;
    #定义使用 localhost 访问
    server_name  localhost;
 
    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;
 
    location / {
        #根目录位置
        root   /usr/share/nginx/html;
        #index 文件位置
        index  1.html;
    }
 
    #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
 
    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
}

Le 1.html utilisé pour les tests ici est écrit par moi-même

<html>
<head>
<title>Mynginx</title>
</head>
<body>
<h2>
欢迎使用nginx!
</h2>
</body>
</html>

5 Ensuite, vous pouvez démarrer le conteneur

docker run  --name myNginx -d -p 8089:80 -v /data/nginx/html:/usr/share/nginx/html -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/conf.d:/etc/nginx/conf.d  -v /data/nginx/logs:/var/log/nginx nginx

Le montage. le chemin doit être correct. Ne l'écrivez pas mal

-p 8089:80 Ici, mappez le port 80 au port 8089 de l'hôte, afin que l'accès soit le port 8089. Il n'est pas nécessaire de changer le port par défaut de nginx

Ensuite, vous pouvez vérifier si le conteneur démarre normalement

docker ps

Si vous ne voyez pas le conteneur, cela signifie qu'il y a un problème de démarrage. Vérifiez si le fichier de configuration est mal écrit ou si le chemin de montage est incorrect.

Après le démarrage, vous pouvez parcourir directement localhost:8089 pour voir la page 1.index que vous venez d'écrire

6 Mettez à jour le fichier de configuration sans arrêter nginx

Lorsque nous modifions le fichier de configuration, nous devons mettre à jour le fichier de configuration à ce moment-là. c'est très cool d'ouvrir deux fenêtres

#进入容器
docker exec -it xxxxxxxxxxx /bin/bash
 
#测试配置文件是否有问题
nginx -t
 
#要是显示 successful 就可以更新了
nginx -s reload

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer