首頁  >  文章  >  運維  >  Docker上如何部署Nginx

Docker上如何部署Nginx

王林
王林轉載
2023-05-11 18:28:183026瀏覽

1.從docker 下載Nginx 映像

docker pull nginx

2.建立掛載目錄

之後的檔案就放在這裡面,對docker 裡Nginx 對應的目錄進行映射,就不用改文件進到容器裡了

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

3.為了保證文件的正確性,建議先進入容器把對應的文件給複製出來

#不方便的可以開兩個窗口,一個進到容器裡,左邊複製到右邊這樣,這是為了保證檔案正確

#启动容器
docker run -itd nginx /bin/bash
#进入容器
docker attach xxxxxxxxxx
#說明 #掛載路徑 nginx路徑
設定檔 nginx.conf /data/nginx/conf/nginx.conf #/etc/nginx/nginx.conf
設定檔資料夾 conf.d資料夾 /data/nginx/conf. d /etc/nginx/conf.d
首頁資料夾html路徑 html資料夾 /data/nginx/ html /usr/share/nginx/html
#日誌檔案 log資料夾 /data/nginx/logs /var/log/nginx

這是對應的掛載目錄,把nginx.conf 檔案和conf.d 裡的default.conf 複製到對應資料夾放好,後面就是修改了

4.接下來修改下default.conf 檔案就好了

這裡我最多就改改連接埠號,存取路徑之類的

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;
    #}
}

這裡測試用的1.html 自己寫的

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

5.接下來就可以啟動容器了

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

掛載路徑一定要對好,別寫錯了

-p 8089:80 這裡把80 端口映射到主機的8089 端口,這樣訪問就是8089 端口了,不用去改nginx 的默認端口

接下來就可以看下容器是否正常啟動

docker ps

如果沒有看到容器那說明啟動有問題,看看是設定檔寫的不對,還是掛載路徑不對之類的

#啟動後就可以直接瀏覽器localhost:8089 看到剛才寫的1.index 頁面了

6.不停止nginx 更新設定檔

當我們修改設定檔後要更新設定文件,這個時候開兩視窗就很酷

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

以上是Docker上如何部署Nginx的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除