丝袜av在线观看|日本美女三级片在线播放|性欧美一区二区三区|小骚热免费国产视频|黑人va在线观看|女同国产91视频|五月丁香色播Av|国产凸凹视频一区二区|伊人电影久久99|国产成人无码一区二区观看

WordPress 基于 Docker 和 Nginx 的外網(wǎng)部署指南

來自:素雅營銷研究院

頭像 方知筆記
2025年06月04日 20:36

一、技術(shù)棧概述

在當今互聯(lián)網(wǎng)時代,快速搭建網(wǎng)站已成為企業(yè)和個人展示的重要需求。本文將介紹如何利用 WordPress + Docker + Nginx 的組合實現(xiàn)高效、安全的外網(wǎng)部署方案。

二、環(huán)境準備

  1. 服務器要求
  • Linux 操作系統(tǒng)(推薦 Ubuntu 20.04+ 或 CentOS 8+)
  • 至少 2GB 內(nèi)存
  • Docker 和 Docker Compose 已安裝
  1. 安裝 Docker
curl -fsSL https://get.docker.com | sh
sudo systemctl enable --now docker
  1. 安裝 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

三、Docker Compose 配置

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

version: '3'

services:
wordpress:
image: wordpress:latest
container_name: wp-app
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: yourpassword
WORDPRESS_DB_NAME: wordpress
volumes:
- ./wp_data:/var/www/html
depends_on:
- db

db:
image: mysql:5.7
container_name: wp-db
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: yourpassword
volumes:
- ./db_data:/var/lib/mysql

nginx:
image: nginx:latest
container_name: wp-nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx_conf:/etc/nginx/conf.d
- ./certbot/conf:/etc/letsencrypt
- ./certbot/www:/var/www/certbot
depends_on:
- wordpress

四、Nginx 反向代理配置

nginx_conf 目錄下創(chuàng)建 wordpress.conf

server {
listen 80;
server_name yourdomain.com;
server_tokens off;

location /.well-known/acme-challenge/ {
root /var/www/certbot;
}

location / {
return 301 https://$host$request_uri;
}
}

server {
listen 443 ssl;
server_name yourdomain.com;

ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

location / {
proxy_pass http://wordpress:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ~ /.well-known/acme-challenge {
allow all;
root /var/www/certbot;
}
}

五、SSL 證書配置

使用 Certbot 獲取 Let’s Encrypt 證書:

docker run -it --rm --name certbot \
-v "./certbot/conf:/etc/letsencrypt" \
-v "./certbot/www:/var/www/certbot" \
certbot/certbot certonly \
--webroot -w /var/www/certbot \
--email your@email.com \
--agree-tos \
--no-eff-email \
-d yourdomain.com

六、啟動服務

docker-compose up -d

七、安全加固建議

  1. 定期更新:保持 WordPress、插件和 Docker 鏡像為最新版本
  2. 防火墻配置:僅開放必要的端口(80, 443)
  3. 數(shù)據(jù)庫備份:定期備份 MySQL 數(shù)據(jù)卷
  4. 訪問限制:通過 Nginx 限制管理后臺訪問IP
  5. 監(jiān)控設(shè)置:配置容器資源使用監(jiān)控

八、常見問題解決

  1. 502 Bad Gateway:檢查 WordPress 容器是否正常運行
  2. 數(shù)據(jù)庫連接錯誤:確認 MySQL 容器已啟動且密碼正確
  3. 證書續(xù)期問題:設(shè)置定時任務自動續(xù)期
0 0 * * * docker-compose run --rm certbot renew >> /var/log/certbot-renew.log

通過以上步驟,您已成功將 WordPress 通過 Docker 和 Nginx 部署到外網(wǎng)訪問環(huán)境。這種架構(gòu)不僅便于管理,還能輕松擴展和遷移,是現(xiàn)代化網(wǎng)站部署的理想選擇。