文章目錄
- 前言
- 安裝配置使用
- 鏡像拉取及環境配置
- 修改代理文件
- 編寫docker-compose文件
- 啟動nginx代理
- 總結
前言
本文主要記錄如何使用docker安裝配置Nginx,如何使用Nginx把通過80、443端口訪問的請求根據域名分發到不同端口。那么什么是Nginx呢,下邊做個簡單介紹:
Nginx是一款開源的高性能、穩定、靈活的Web服務器和反向代理服務器,以其高效的數據傳輸能力和廣泛的部署場景而聞名全球。它最初由俄羅斯程序員Igor Sysoev于2002年創建,其名字“Nginx”來源于日語單詞“Ninginx”,意思是“強大的、快速的”,這恰好體現了其設計哲學。
Nginx的核心優勢在于輕量級架構,即使在高并發環境下也能提供卓越的性能,使得它在處理靜態內容和作為負載均衡器方面表現出色。它支持HTTP、HTTPS、SMTP等多種協議,并且易于擴展,能夠與許多現代Web技術棧如Node.js、PHP-FPM等無縫集成。此外,Nginx還以其模塊化設計、低資源占用和高效的請求處理機制著稱。
在當前的互聯網架構中,Nginx常被用于網站前端,作為第一道防火墻保護服務器,緩存靜態資源,或者是大型分布式系統中的關鍵組件,比如作為CDN(內容分發網絡)的一部分。許多大型網站,包括許多知名社交媒體平臺和新聞網站,都在背后依賴Nginx來保障服務的穩定和高效。
安裝配置使用
鏡像拉取及環境配置
拉取Nginx最新鏡像
docker pull nginx
配置本地參數文件掛載目錄
mkdir -p ~/nginx/conf
mkdir -p ~/nginx/log
臨時運行一個容器將參數文件拷貝到掛載目錄
docker run --rm --name nginx -d nginxdocker cp nginx:/etc/nginx/nginx.conf ~/nginx/conf/
docker cp nginx:/etc/nginx/conf.d ~/nginx/conf/
docker cp nginx:/usr/share/nginx/html ~/nginx/# 拷貝完成后停止容器
docker stop nginx
修改代理文件
# ~/nginx/conf/conf.d/git.confserver{listen 80;# 此域名是提供給最終用戶的訪問地址server_name gitlab.example.com;location / {client_max_body_size 50m;proxy_redirect off;proxy_pass http://192.168.1.88:8080;}
}server{listen 80;# 此域名是提供給最終用戶的訪問地址server_name registry.gitlab.example.com;location / {client_max_body_size 50m;proxy_redirect off;proxy_pass http://192.168.1.88:5050;}
}
編寫docker-compose文件
文件地址: ~/nginx/docker-compose.yml
networks: {}
services:core:depends_on: {}restart: alwayscontainer_name: nginxenvironment:TERM: xterm-256colorimage: nginxlogging:driver: json-fileoptions:max-file: '5'max-size: 10mnetwork_mode: hostprivileged: trueshm_size: 2gstdin_open: truetty: true# 下邊的"~"最好修改為絕對路徑volumes:- ~/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:rw- ~/nginx/conf/conf.d:/etc/nginx/conf.d:rw- ~/nginx/log:/var/log/nginx:rw- ~/nginx/html:/usr/share/nginx/html:rwworking_dir: /
version: '2.3'
volumes: {}
啟動nginx代理
cd ~/nginx/
docker-compose up -d
修改配置后重啟使用命令如下
docker restart nginx
總結
本文簡單記錄使用docker配置nginx的過程,方便后續參考。1234
nginx配置詳解-CSDN博客 ??
Docker 安裝 Nginx 容器 (完整詳細版)_docker nginx-CSDN博客 ??
Nginx配置詳解_nginx配置域名-CSDN博客 ??
nginx安裝及(域名、端口、ip)配置_nginx配置域名-CSDN博客 ??