最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker 部署 Nginx詳細(xì)攻略

 更新時(shí)間:2025年10月28日 11:52:10   作者:遇見火星  
Nginx 是一款輕量級(jí)、高性能的 HTTP 服務(wù)器與反向代理服務(wù)器,也是當(dāng)前企業(yè)級(jí) Web 服務(wù)中最常用的組件之一,接下來通過本文給大家介紹Docker部署Nginx詳細(xì)攻略,感興趣的朋友跟隨小編一起看看吧

在開始Nginx鏡像拉取與部署操作前,我們先簡(jiǎn)要明確Nginx的核心價(jià)值與Docker部署的優(yōu)勢(shì)——這能幫助你更清晰地理解后續(xù)操作的意義。

關(guān)于 Nginx:核心功能與價(jià)值

Nginx 是一款輕量級(jí)、高性能的 HTTP 服務(wù)器與反向代理服務(wù)器,也是當(dāng)前企業(yè)級(jí) Web 服務(wù)中最常用的組件之一。它的核心作用可概括為四大類:

  •  靜態(tài)服務(wù):直接搭建靜態(tài)網(wǎng)頁(yè)服務(wù)(如官網(wǎng)、產(chǎn)品文檔、前端打包后的單頁(yè)應(yīng)用),支持高效處理靜態(tài)資源(HTML、CSS、JS、圖片等);
  •  反向代理:作為客戶端與后端服務(wù)的“中間層”,轉(zhuǎn)發(fā)請(qǐng)求至后端 API 或應(yīng)用服務(wù)器(如 Tomcat、Node.js),隱藏真實(shí)服務(wù)地址,提升安全性;
  •  負(fù)載均衡:面對(duì)高并發(fā)場(chǎng)景時(shí),將請(qǐng)求均勻分發(fā)到多臺(tái)后端機(jī)器,避免單點(diǎn)服務(wù)器過載,保障服務(wù)穩(wěn)定性;
  •  SSL 終端:統(tǒng)一處理 HTTPS 加密解密,管理 SSL 證書,無需后端服務(wù)單獨(dú)配置 HTTPS,簡(jiǎn)化整體架構(gòu)。

其最大特點(diǎn)是輕量(占用資源少)、穩(wěn)定(故障率低)、高并發(fā)(單實(shí)例可支撐數(shù)萬并發(fā)連接),因此成為中小微企業(yè)到大型互聯(lián)網(wǎng)公司的“標(biāo)配”服務(wù)組件。

為什么用 Docker 部署 Nginx?核心優(yōu)勢(shì)

傳統(tǒng)方式部署 Nginx(如通過 yum/apt 安裝、源碼編譯)常面臨環(huán)境不一致、依賴沖突、配置隔離差、遷移繁瑣等問題(例如:開發(fā)機(jī)上正常運(yùn)行的 Nginx,到生產(chǎn)服務(wù)器因系統(tǒng)庫(kù)版本不同啟動(dòng)失敗;多服務(wù)混布時(shí),Nginx 配置錯(cuò)誤可能影響其他應(yīng)用)。而 Docker 部署能完美解決這些痛點(diǎn),核心優(yōu)勢(shì)如下:

  •  環(huán)境絕對(duì)一致:Nginx 鏡像已打包所有運(yùn)行依賴(系統(tǒng)庫(kù)、配置模板、基礎(chǔ)環(huán)境),無論在開發(fā)機(jī)、測(cè)試機(jī)還是生產(chǎn)服務(wù)器,只要能運(yùn)行 Docker,Nginx 就能“開箱即用”,徹底避免“本地能跑、線上報(bào)錯(cuò)”;
  •  輕量高效:Docker 容器是進(jìn)程級(jí)隔離,比虛擬機(jī)占用資源少 80% 以上,Nginx 容器啟動(dòng)僅需秒級(jí),且可靈活限制 CPU/內(nèi)存占用,避免資源浪費(fèi);
  •  服務(wù)隔離安全:Nginx 容器與主機(jī)、其他服務(wù)(如 MySQL、Redis)完全隔離,即使 Nginx 配置出錯(cuò)或崩潰,也不會(huì)影響其他應(yīng)用,降低故障擴(kuò)散風(fēng)險(xiǎn);
  •  快速迭代與回滾:更新 Nginx 只需拉取新鏡像、重啟容器(10 秒內(nèi)完成);若新版本有問題,刪除新容器、啟動(dòng)舊版本鏡像即可回滾,比傳統(tǒng)部署的“卸載-重裝”高效 10 倍以上;
  •  簡(jiǎn)化運(yùn)維管理:通過 docker 命令或 docker-compose 可一鍵實(shí)現(xiàn) Nginx 啟停、日志查看、狀態(tài)監(jiān)控(如 docker logs nginx-web 直接看日志),新手也能快速上手。

1、查看 Nginx 鏡像

你可以在 軒轅鏡像 中找到 Nginx 鏡像頁(yè)面:
?? https://xuanyuan.cloud/r/library/nginx

在頁(yè)面中會(huì)看到多種拉取方式,下面我們逐一說明。

2、下載 Nginx 鏡像

2.1 使用軒轅鏡像登錄驗(yàn)證的方式拉取

docker pull docker.xuanyuan.run/library/nginx:latest

2.2 拉取后改名

docker pull docker.xuanyuan.run/library/nginx:latest \
&& docker tag docker.xuanyuan.run/library/nginx:latest library/nginx:latest \
&& docker rmi docker.xuanyuan.run/library/nginx:latest

說明:

  •  docker pull:從軒轅鏡像加速拉取鏡像
  •  docker tag:將鏡像重命名為官方標(biāo)準(zhǔn)名稱 library/nginx:latest,后續(xù)運(yùn)行命令更簡(jiǎn)潔
  •  docker rmi:刪除臨時(shí)鏡像標(biāo)簽,避免占用額外存儲(chǔ)空間

2.3 使用免登錄方式拉取(推薦)

基礎(chǔ)拉取命令:

docker pull xxx.xuanyuan.run/library/nginx:latest

帶重命名的完整命令:

docker pull xxx.xuanyuan.run/library/nginx:latest \
&& docker tag xxx.xuanyuan.run/library/nginx:latest library/nginx:latest \
&& docker rmi xxx.xuanyuan.run/library/nginx:latest

說明:

免登錄方式無需配置賬戶信息,新手可直接使用;鏡像內(nèi)容與 docker.xuanyuan.run 源完全一致,僅拉取地址不同。

2.4 官方直連方式

若網(wǎng)絡(luò)可直連 Docker Hub,或已配置軒轅鏡像加速器,可直接拉取官方鏡像:

docker pull library/nginx:latest

2.5 查看鏡像是否拉取成功

docker images

若輸出類似以下內(nèi)容,說明鏡像下載成功:

REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
library/nginx       latest    f652ca386ed1   2 weeks ago    142MB

3、部署 Nginx

以下使用已下載的 library/nginx:latest 鏡像,提供三種部署方案,可根據(jù)場(chǎng)景選擇。

3.1 快速部署(最簡(jiǎn)方式)

適合測(cè)試或臨時(shí)使用,命令如下:

# 啟動(dòng) Nginx 容器,命名為 nginx-test
# 宿主機(jī) 80 端口映射到容器 80 端口(Nginx 默認(rèn)端口)
docker run -d --name nginx-test -p 80:80 library/nginx:latest

核心參數(shù)說明:

  •  --name nginx-test:為容器指定名稱,便于后續(xù)管理(如停止、重啟)
  •  -p 80:80:端口映射,格式為「宿主機(jī)端口:容器端口」
  •  -d:后臺(tái)運(yùn)行容器

驗(yàn)證方式:

瀏覽器訪問 http://服務(wù)器IP,應(yīng)顯示 Nginx 官方歡迎頁(yè)。

3.2 掛載目錄(推薦方式,適合實(shí)際項(xiàng)目)

通過掛載宿主機(jī)目錄,實(shí)現(xiàn)「配置持久化」「日志分離」「網(wǎng)頁(yè)文件獨(dú)立管理」,步驟如下:

第一步:創(chuàng)建宿主機(jī)目錄

# 一次性創(chuàng)建 html(網(wǎng)頁(yè))、conf(配置)、logs(日志)三個(gè)目錄
mkdir -p /data/nginx/{html,conf,logs}

第二步:準(zhǔn)備測(cè)試網(wǎng)頁(yè)

# 向 html 目錄寫入測(cè)試內(nèi)容
echo "Hello from Xuanyuan Nginx!" > /data/nginx/html/index.html

第三步:?jiǎn)?dòng)容器并掛載目錄

docker run -d --name nginx-web \
  -p 80:80 -p 443:443 \  # 映射 HTTP(80) 和 HTTPS(443) 端口
  -v /data/nginx/html:/usr/share/nginx/html \  # 網(wǎng)頁(yè)目錄掛載
  -v /data/nginx/conf:/etc/nginx/conf.d \      # 配置目錄掛載
  -v /data/nginx/logs:/var/log/nginx \        # 日志目錄掛載
  library/nginx:latest

目錄映射說明:

宿主機(jī)目錄

容器內(nèi)目錄

用途

/data/nginx/html/usr/share/nginx/html

存放網(wǎng)頁(yè)文件(如 HTML、CSS)

/data/nginx/conf/etc/nginx/conf.d

存放 Nginx 配置文件

/data/nginx/logs/var/log/nginx

存放訪問日志、錯(cuò)誤日志

第四步:配置文件示例

新建 Nginx 基礎(chǔ)配置文件 /data/nginx/conf/default.conf

server {
    listen       80;          # 監(jiān)聽 80 端口(HTTP)
    server_name  _;           # 匹配所有域名(可替換為實(shí)際域名,如 example.com)
    root   /usr/share/nginx/html;  # 網(wǎng)頁(yè)根目錄
    index  index.html;             # 默認(rèn)首頁(yè)
    access_log  /var/log/nginx/access.log;  # 訪問日志路徑
    error_log   /var/log/nginx/error.log;   # 錯(cuò)誤日志路徑
    # 處理請(qǐng)求的核心規(guī)則
    location / {
        try_files $uri $uri/ =404;  # 嘗試訪問文件/目錄,不存在則返回 404
    }
}

配置更新后重啟容器

修改配置文件后,需重啟容器使配置生效:

docker restart nginx-web

3.3 docker-compose 部署(適合企業(yè)級(jí)場(chǎng)景)

通過 docker-compose.yml 統(tǒng)一管理容器配置,支持一鍵啟動(dòng)/停止,步驟如下:

第一步:創(chuàng)建 docker-compose.yml 文件

version: '3'  # 指定 docker-compose 語法版本
services:
  nginx:
    image: library/nginx:latest  # 使用的鏡像
    container_name: nginx-service  # 容器名稱
    ports:
      - "80:80"   # HTTP 端口映射
      - "443:443" # HTTPS 端口映射
    volumes:
      - ./html:/usr/share/nginx/html   # 網(wǎng)頁(yè)目錄(相對(duì)路徑,與 yml 同目錄)
      - ./conf:/etc/nginx/conf.d       # 配置目錄
      - ./logs:/var/log/nginx          # 日志目錄
    restart: always  # 容器退出后自動(dòng)重啟(保障服務(wù)可用性)

第二步:?jiǎn)?dòng)服務(wù)

在 docker-compose.yml 所在目錄執(zhí)行:

docker compose up -d

補(bǔ)充說明:

  •  若需修改配置/網(wǎng)頁(yè),直接操作當(dāng)前目錄下的 htmlconf 文件夾即可
  •  停止服務(wù)命令:docker compose down
  •  查看服務(wù)狀態(tài):docker compose ps

4、結(jié)果驗(yàn)證

通過以下方式確認(rèn) Nginx 服務(wù)正常運(yùn)行:

 瀏覽器驗(yàn)證

訪問 http://服務(wù)器IP,應(yīng)顯示之前寫入的測(cè)試內(nèi)容(Hello from Xuanyuan Nginx!)或 Nginx 歡迎頁(yè)。

 查看容器狀態(tài):  

docker ps

若 STATUS 列顯示 Up,說明容器正常運(yùn)行。

 查看容器日志

以 nginx-web 容器為例(若用 docker-compose 則為 nginx-service):

docker logs nginx-web

無報(bào)錯(cuò)信息即表示服務(wù)啟動(dòng)正常。

5、常見問題

5.1 訪問不到網(wǎng)頁(yè)?

排查方向:

  •  安全組:檢查云服務(wù)器安全組是否放行 80(HTTP)、443(HTTPS)端口
  •  防火墻:檢查服務(wù)器本地防火墻(如 ufw 或 firewalld)是否開放對(duì)應(yīng)端口
    •  ufw 開放端口:sudo ufw allow 80/tcp && sudo ufw allow 443/tcp
    •  firewalld 開放端口:sudo firewall-cmd --add-port=80/tcp --permanent && sudo firewall-cmd --add-port=443/tcp --permanent && sudo firewall-cmd --reload
  •  端口沖突:執(zhí)行 netstat -tuln | grep 80 查看 80 端口是否被其他進(jìn)程占用,若占用需更換宿主機(jī)端口(如 -p 8080:80

5.2 如何啟用 HTTPS?

  •  準(zhǔn)備證書:獲取 SSL 證書文件(通常包含 fullchain.pem 證書鏈和 privkey.pem 私鑰),放到宿主機(jī)目錄(如 /data/nginx/certs)。
  •  掛載證書目錄:在容器啟動(dòng)命令中添加證書掛載參數(shù):
-v /data/nginx/certs:/etc/nginx/certs
  •  修改 Nginx 配置:更新 default.conf,添加 HTTPS 監(jiān)聽規(guī)則:
server {
    listen 443 ssl;  # 監(jiān)聽 443 端口(HTTPS)
    server_name 你的域名;  # 替換為實(shí)際域名(如 example.com)
    # 證書路徑(容器內(nèi)路徑,對(duì)應(yīng)宿主機(jī) /data/nginx/certs)
    ssl_certificate     /etc/nginx/certs/fullchain.pem;
    ssl_certificate_key /etc/nginx/certs/privkey.pem;
    root   /usr/share/nginx/html;
    index  index.html;
}

 重啟容器docker restart nginx-web

5.3 日志文件過大怎么辦?

 方案1:使用 logrotate 切割日志(推薦):
在宿主機(jī)創(chuàng)建 /etc/logrotate.d/nginx 配置文件,設(shè)置日志切割規(guī)則(如按天切割、保留 7 天):

/data/nginx/logs/*.log {
    daily
    rotate 7
    compress
    delaycompress
    missingok
    notifempty
    create 0640 root root
}

 方案2:日志收集系統(tǒng)
配合 ELK Stack(Elasticsearch + Logstash + Kibana)或 Loki 等工具,實(shí)現(xiàn)日志集中收集、存儲(chǔ)和分析。

5.4 容器內(nèi)時(shí)區(qū)不正確?

在啟動(dòng)容器時(shí),通過 -e 參數(shù)設(shè)置時(shí)區(qū)(以上海時(shí)區(qū) Asia/Shanghai 為例):

docker run -d -e TZ=Asia/Shanghai \
  --name nginx-web \
  -p 80:80 -p 443:443 \
  -v /data/nginx/html:/usr/share/nginx/html \
  -v /data/nginx/conf:/etc/nginx/conf.d \
  -v /data/nginx/logs:/var/log/nginx \
  library/nginx:latest

結(jié)尾

至此,你已掌握基于軒轅鏡像的Nginx鏡像拉取與Docker部署全流程——從鏡像下載驗(yàn)證,到不同場(chǎng)景的部署實(shí)踐,再到問題排查,每個(gè)步驟都配備了完整的操作命令和說明。對(duì)于初學(xué)者而言,建議先從「快速部署」熟悉流程,再嘗試「目錄掛載」方案理解持久化配置的意義,最后根據(jù)需求進(jìn)階到「docker-compose」管理。

在實(shí)際使用中,若遇到文檔未覆蓋的問題,可結(jié)合docker logs 容器名查看日志定位原因,或參考Nginx官方文檔補(bǔ)充學(xué)習(xí)。隨著實(shí)踐深入,你還可以基于本文基礎(chǔ),進(jìn)一步探索Nginx的反向代理、負(fù)載均衡、HTTPS高級(jí)配置等功能,讓Nginx更好地支撐你的業(yè)務(wù)需求。

到此這篇關(guān)于Docker 部署 Nginx 詳細(xì)手冊(cè)的文章就介紹到這了,更多相關(guān)Docker 部署 Nginx內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署

    Jenkins+Docker實(shí)現(xiàn)自動(dòng)化部署

    本文介紹了在CentOS7和Git(Gitee)環(huán)境下如何使用Jenkins進(jìn)行自動(dòng)化部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • Docker 存儲(chǔ)卷(Volume)核心概念、類型與操作指南(最新整理)

    Docker 存儲(chǔ)卷(Volume)核心概念、類型與操作指南(最新整理)

    Docker 存儲(chǔ)卷 是 Docker 容器中用于持久化存儲(chǔ)數(shù)據(jù)的獨(dú)立文件系統(tǒng)區(qū)域,它獨(dú)立于容器的聯(lián)合文件系統(tǒng),其生命周期可以完全獨(dú)立于創(chuàng)建它的容器,本文給大家介紹Docker 存儲(chǔ)卷(Volume)核心概念、類型與操作指南,感興趣的朋友一起看看吧
    2025-09-09
  • docker部署gitlab實(shí)踐

    docker部署gitlab實(shí)踐

    這篇文章主要介紹了docker部署gitlab實(shí)踐,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2026-03-03
  • 使用Docker搭建Maven私服的流程步驟

    使用Docker搭建Maven私服的流程步驟

    文章主要介紹了如何部署Nexus容器,包括后臺(tái)運(yùn)行、配置管理員密碼、配置阿里云代理倉(cāng)庫(kù)以及Maven配置等內(nèi)容,幫助用戶更方便地使用Nexus倉(cāng)庫(kù),需要的朋友可以參考下
    2026-04-04
  • Docker快速安裝Zookeeper的詳細(xì)教程

    Docker快速安裝Zookeeper的詳細(xì)教程

    這篇文章主要介紹了Docker快速安裝Zookeeper,不清楚如何搭建docker的朋友可以參考下本文
    2021-06-06
  • Docker中的集群管理與應(yīng)用方式

    Docker中的集群管理與應(yīng)用方式

    這篇文章主要介紹了Docker中的集群管理與應(yīng)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-05-05
  • Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程

    Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程

    這篇文章主要介紹了Docker 運(yùn)行多個(gè)Springboot的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 簡(jiǎn)簡(jiǎn)單單使用Docker部署Confluence

    簡(jiǎn)簡(jiǎn)單單使用Docker部署Confluence

    本文使用的環(huán)境是docker17版本,重點(diǎn)給大家講解使用Docker部署Confluence的問題,本文給大家介紹的很好對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-06-06
  • Docker 容器全部停止的幾種方法實(shí)現(xiàn)

    Docker 容器全部停止的幾種方法實(shí)現(xiàn)

    我們需要停止所有的容器時(shí),可以使用一些命令來實(shí)現(xiàn),本文主要介紹了Docker 容器全部停止的幾種方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • docker關(guān)閉mysql端口映射的使用方式

    docker關(guān)閉mysql端口映射的使用方式

    這篇文章主要介紹了docker關(guān)閉mysql端口映射的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-06-06

最新評(píng)論

应城市| 彭州市| 丰顺县| 赞皇县| 南郑县| 裕民县| 汕头市| 东乡族自治县| 长乐市| 晋江市| 湖南省| 申扎县| 安西县| 和田市| 鹤岗市| 安图县| 轮台县| 特克斯县| 右玉县| 赤城县| 宜宾市| 屯昌县| 阿荣旗| 始兴县| 浑源县| 昭平县| 宝丰县| 乌恰县| 灯塔市| 郁南县| 资溪县| 朝阳区| 施甸县| 出国| 漯河市| 西乌| 汪清县| 龙州县| 龙陵县| 大埔区| 平谷区|