通過docker安裝nginx服務

nginx配置文件

https://gitee.com/Cairo-SR8/nginx-configuration.git

一、安裝nginx
1.1 拉去ARM鏡像

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/linux_arm64_nginx:latest

1.2 拉去x86鏡像

docker pull registry.cn-hangzhou.aliyuncs.com/qiluo-images/nginx:latest

Nginx 部署腳本 (deploy_chongqing_nginx.sh)

#!/bin/bash# 配置區(根據實際修改)
CONTAINER_NAME="chongqing-xxxx-nginx-web"
HTTP_PORT=32082
HTTPS_PORT=32084  # 如需啟用HTTPS
IMAGE="registry.cn-hangzhou.aliyuncs.com/qiluo-images/nginx:latest"
VOLUME_ROOT="/data/chongqing-xxxx-nginx-web"# 自動生成目錄結構
NGINX_DIRS=("$VOLUME_ROOT/nginx/conf"   # 配置文件"$VOLUME_ROOT/nginx/dist"   # 前端代碼"$VOLUME_ROOT/nginx/logs"   # 日志文件
)# 預檢函數
preflight_check() {# 檢查Docker是否運行if ! systemctl is-active docker &>/dev/null; thenecho "錯誤:Docker服務未運行!"exit 1fi# 創建目錄并設置權限for dir in "${NGINX_DIRS[@]}"; domkdir -p "$dir" || { echo "目錄創建失敗: $dir"; exit 1; }chmod -R 755 "$dir"echo "目錄已驗證: $dir"done# 檢查關鍵配置文件if [ ! -f "$VOLUME_ROOT/nginx/conf/nginx.conf" ]; thenecho "初始化默認nginx.conf..."docker run --rm "$IMAGE" cat /etc/nginx/nginx.conf > "$VOLUME_ROOT/nginx/conf/nginx.conf"fi
}# 清理舊容器
cleanup_old() {if docker ps -a --filter "name=$CONTAINER_NAME" | grep -q "$CONTAINER_NAME"; thenecho "移除舊容器..."docker rm -f "$CONTAINER_NAME" || { echo "容器移除失敗"; exit 1; }fi
}# 啟動服務
deploy_nginx() {echo "正在部署Nginx服務..."docker run -d -it \--name "$CONTAINER_NAME" \--privileged=true \--restart=always \-p "$HTTP_PORT:32082" \-p "$HTTPS_PORT:32084" \-v "/etc/localtime:/etc/localtime:ro" \-v "$VOLUME_ROOT/nginx/conf:/etc/nginx" \-v "$VOLUME_ROOT/nginx/dist:/data/nginx/html" \-v "$VOLUME_ROOT/nginx/logs:/var/log/nginx" \"$IMAGE"# 驗證狀態sleep 3if ! docker ps --filter "name=$CONTAINER_NAME" --format "{{.Status}}" | grep -q "Up"; thenecho "容器啟動失敗!錯誤日志:"docker logs "$CONTAINER_NAME" | tail -20exit 1fi
}# 健康檢查
health_check() {echo "執行健康檢查..."local retries=5while ((retries-- > 0)); doif curl -sI "http://localhost:$HTTP_PORT" | grep -q "HTTP/.*200"; thenecho "服務已就緒"return 0fisleep 5doneecho "健康檢查失敗!"return 1
}# 主流程
preflight_check
cleanup_old
deploy_nginx
health_check || exit 1# 輸出部署信息
echo "--------------------------------------------------"
echo "重慶監管平臺Nginx部署成功!"
echo "容器名稱: $CONTAINER_NAME"
echo "HTTP訪問: http://<服務器IP>:$HTTP_PORT"
echo "HTTPS端口: $HTTPS_PORT (需配置SSL證書)"
echo "配置文件: $VOLUME_ROOT/nginx/conf"
echo "前端代碼: $VOLUME_ROOT/nginx/dist"
echo "日志目錄: $VOLUME_ROOT/nginx/logs"
echo "管理命令:"
echo "  docker logs -f $CONTAINER_NAME  # 查看實時日志"
echo "  docker exec -it $CONTAINER_NAME nginx -t  # 測試配置"
  1. 部署步驟
# 賦予執行權限
chmod +x deploy_chongqing_nginx.sh# 執行部署
./deploy_chongqing_nginx.sh
2. 關鍵路徑說明
配置目錄	Nginx所有配置文件	/data/chongqing-xxxx-nginx-web/nginx/conf/
前端代碼目錄	存放HTML/JS/CSS等靜態文件	/data/chongqing-xxxx-nginx-web/nginx/dist/
日志目錄	訪問日志和錯誤日志	/data/chongqing-xxxx-nginx-web/nginx/logs/
3. 端口說明
端口	協議	用途	外部訪問示例
32082	HTTP	默認Web訪問端口	http://your-server-ip:32082
32084	HTTPS	預留SSL端口(需配置)	https://your-server-ip:32084
  1. 日常維護命令
# 重載配置(不中斷服務)
docker exec $CONTAINER_NAME nginx -s reload# 查看實時訪問日志
tail -f $VOLUME_ROOT/nginx/logs/access.log# 備份配置
cp -r $VOLUME_ROOT/nginx/conf /backup/nginx_conf_$(date +%Y%m%d)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/86546.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/86546.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/86546.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

盲法在臨床試驗中的應用與挑戰

一、盲法分級與科學價值 1.1 開放標簽 1.1.1 受盲對象 無隱藏。 1.1.2 適用場景 外科手術、器械試驗等無法偽裝的操作。 1.1.3 偏倚控制目標 僅客觀終點(生存率、實驗室指標)。 1.2 單盲 1.2.1 受盲對象 患者。 1.2.2 適用場景 患者報告結局(PRO)為主的試驗(如…

VNware啟動虛擬機報錯:虛擬化性能計數器需要版本為 3 或以上的架構性能監控。

Vmware版本&#xff1a;17.5 結論&#xff1a; 【編輯虛擬機設置-硬件-處理器-虛化計數器】沒勾就勾上&#xff0c;勾了就不勾保存&#xff0c;然后重新打勾 備注&#xff1a;不知道是不是顯示問題&#xff0c;之前勾著的時候報錯。取消報錯&#xff0c;再勾上報錯能正常啟動虛…

微機系統 - 第7章 -可編程接口芯片

可編程并行輸入/輸出接口芯片 8255A -1:結構 8255A為40引腳、雙列直插封裝。 內部結構由數據端口、組控制電路、數據總線緩沖器、讀/寫控制邏輯四部分組成。 數據總線緩沖器&#xff1a;三態8位雙向緩沖器&#xff0c;D7-D0同系統數據總線相連。CPU通過執行輸入/輸出指令來實…

解析云計算虛擬化基石:KVM、QEMU與Libvirt的協同

在云計算和容器化大行其道的今天&#xff0c;傳統虛擬化技術仍是企業IT架構的核心支柱。理解KVM、QEMU和Libvirt的關系&#xff0c;是掌握現代虛擬化技術的關鍵一步。 一、虛擬化技術演進&#xff1a;從軟件模擬到硬件加速的進化之路 虛擬化技術通過在單臺物理服務器上創建多個…

Mac mini 跑 DeepSeek R1 及 QwQ-32B模型實測報告

測試對象&#xff1a;2025 款 Mac mini&#xff08;M4 / M4 Pro 芯片&#xff09; 測試模型&#xff1a;DeepSeek-R1&#xff08;14B/32B&#xff09;、QwQ-32B&#xff08;原版/量化版&#xff09; 測試目標&#xff1a;硬件性能適配性、推理速度、內存占用及優化方案 一、Mac…

github常用插件

一&#xff0c;文檔輔助閱讀系列&#xff1a;自動化wiki處理 1&#xff0c;deepwiki https://deepwiki.com/ 將我們看不懂的官方code文檔轉換為wiki&#xff0c;更加便于理解。 其實能夠翻閱的倉庫很有限&#xff0c;比如說&#xff1a; 但是有很多倉庫并沒有index&#xff…

洛谷P11963 [GESP202503 六級] 環線-普及/提高-

題目描述 小 A 喜歡坐地鐵。地鐵環線有 n n n 個車站&#xff0c;依次以 1 , 2 , ? , n 1,2,\cdots,n 1,2,?,n 標號。車站 i ( 1 ≤ i < n ) i\ (1\leq i<n) i (1≤i<n) 的下一個車站是車站 i 1 i1 i1。特殊地&#xff0c;車站 n n n 的下一個車站是車站 1 …

大網絡辦公區的二層生成樹優化問題

辦公區有華為和思科交換機&#xff0c;此次改造&#xff0c;在辦公火墻上、下聯&#xff0c;做3層IP地址互聯&#xff0c;可以讓大核心不參與辦公區的STP網絡收斂&#xff0c;就不會因為下面辦公區的交換機stp收斂問題導致&#xff0c;核心連接的其他區域網絡出現動蕩&#xff…

重點解析(軟件工程)

一. 概述 什么是軟件、軟件危機、軟件工程 軟件是可執行的指令&#xff08;程序&#xff09;、操作信息的數據以及描述程序操作和使用的文檔的集合。 軟件危機指軟件開發速度跟不上需求增長&#xff0c;導致設計拙劣、維護困難&#xff0c;可能造成經濟損失或災難。 軟件工程是…

Jina-Embeddings-V4:多模態向量模型的革命性突破與實戰指南

當Jina-Embeddings-V4帶著38億參數和多模態能力登場時&#xff0c;它就像向量模型界的"變形金剛"——不僅能處理30語言的文本&#xff0c;還能把圖像、表格甚至混合排版文檔統統"吞"進同一個語義空間。傳統方案如CLIP需要分別處理圖像和文本再強行對齊&…

數據結構進階 - 第四,五章 串、數組和廣義表

數據結構進階 - 串、數組和廣義表 第四章 串&#xff08;String&#xff09; 4.1 串的基本概念 4.1.1 串的定義 串是受限的線性表&#xff1a;組成串的元素只能為字符串的特點&#xff1a; 操作位置受限元素類型受限&#xff08;只能是字符&#xff09;是線性表的推廣和受限…

【力扣 困難 C】940. 不同的子序列 II

目錄 題目 解法一&#xff1a;動態規劃 題目 解法一&#xff1a;動態規劃 int distinctSubseqII(char* s) {const int mod 1000000007;int dp[26] {0};int cnt 1;int len strlen(s);for (int i 0; i < len; i) {int new (cnt - dp[s[i] - a] mod) % mod;cnt (cnt…

【用戶權限】chmod的簡單使用(一)

一、用戶和權限的基本概念 用戶是 Linux 系統工作中重要的一環&#xff0c;用戶管理包括用戶與組管理。在 Linux 系統中&#xff0c;不論是由本機或是遠程登錄系統&#xff0c;每個系統都必須擁有一個賬號&#xff0c;并且對于不同的系統資源擁有不同的使用權限。在Linux中&am…

Electron桌面程序初體驗

Electron 是網頁應用 (web apps) 的一個原生包裝層&#xff0c;在 Node.js 環境中運行。所以需要開發者對 Node.js 和前端 Web 開發有一定地了解。下面我們就來初始化一個項目&#xff0c;試試看。 提示&#xff1a;本人使用的是npm命令&#xff0c;yarn命令也是可以的 1.初…

生信軟件47 - 超低測序深度的全基因組測序cfDNA腫瘤分數估計工具ichorCNA

1. ichorCNA簡介 ichorCNA是一種用于估計來自超低測序深度的全基因組測序&#xff08;ULP-WGS&#xff0c;0.1x覆蓋率&#xff09;的cfDNA中腫瘤分數的工具。ichorCNA使用概率模型&#xff0c;應用隱馬爾可夫模型&#xff08;HMM&#xff09;&#xff0c;以同時分割基因組&…

Python 解壓縮(支持.zip/.rar/.7z格式)

&#x1f91f;致敬讀者 &#x1f7e9;感謝閱讀&#x1f7e6;笑口常開&#x1f7ea;生日快樂?早點睡覺 &#x1f4d8;博主相關 &#x1f7e7;博主信息&#x1f7e8;博客首頁&#x1f7eb;專欄推薦&#x1f7e5;活動信息 文章目錄 Python 解壓縮&#xff08;支持.zip/.rar/.7…

龍虎榜——20250627

上證指數放量收陰線&#xff0c;回踩5天均線&#xff0c;但個股總體漲多跌少。 深證指數縮量收十字星&#xff0c;在前期壓力位震蕩。 2025年6月27日龍虎榜行業方向分析 1. 金融科技&#xff08;跨境支付數字安全&#xff09; 代表標的&#xff1a;吉大正元&#xff08;跨境認…

三步實現B站緩存視頻轉MP4格式

本期我們來實現如何將B站緩存的視頻轉成MP4格式&#xff0c;直接在本地播放。 首先我們在Bilibili客戶端緩存一個視頻&#xff0c;保存的文件如下&#xff1a; 這里有兩個m4s文件&#xff0c;大的哪個是視頻文件&#xff0c;小的是音頻文件&#xff0c;這里我們用視頻播放軟件…

MySQL 與 Oracle 事務:深度解析與全面對比

在數據庫管理領域&#xff0c;事務是確保數據一致性和完整性的核心機制&#xff0c;它允許用戶將一系列操作視為一個不可分割的整體&#xff0c;要么全部成功執行&#xff0c;要么全部回滾。MySQL 和 Oracle 作為兩款廣泛使用的關系型數據庫管理系統&#xff0c;它們在事務處理…

麒麟系統如何輸出啟動日志到串口

1、臺式機系統啟動日志輸出到串口 &#xff08;1&#xff09;GRUB配置 編輯GRUB配置文件&#xff08;如/etc/default/grub&#xff09;&#xff0c;添加或修改以下參數&#xff1a; GRUB_CMDLINE_LINUX“consoletty0 consolettyS0,115200n8” tty0&#xff1a;表示將日志輸出…