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

使用Docker快速部署WordPress并配置HTTPS

來(lái)自:素雅營(yíng)銷研究院

頭像 方知筆記
2025年07月01日 12:54

前言

在當(dāng)今互聯(lián)網(wǎng)時(shí)代,擁有一個(gè)個(gè)人博客或企業(yè)網(wǎng)站已成為標(biāo)配。WordPress作為全球最受歡迎的內(nèi)容管理系統(tǒng)(CMS),以其易用性和豐富的插件生態(tài)著稱。而Docker作為容器化技術(shù)的代表,能夠幫助我們快速部署應(yīng)用并保持環(huán)境一致性。本文將詳細(xì)介紹如何使用Docker部署WordPress,并通過(guò)HTTPS保障網(wǎng)站安全。

準(zhǔn)備工作

在開(kāi)始之前,請(qǐng)確保您的系統(tǒng)已安裝以下組件:

  • Docker引擎(版本18.06.0+)
  • Docker Compose(版本1.25.0+)
  • 一個(gè)可用的域名(用于配置HTTPS)

使用Docker Compose部署WordPress

  1. 創(chuàng)建docker-compose.yml文件
version: '3.8'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html

volumes:
db_data:
wordpress_data:
  1. 啟動(dòng)服務(wù)
docker-compose up -d

等待幾分鐘后,訪問(wèn)您的服務(wù)器IP地址,您應(yīng)該能看到WordPress的安裝界面。

配置HTTPS安全連接

為了保障網(wǎng)站安全,我們需要為WordPress配置HTTPS。這里我們使用Let’s Encrypt免費(fèi)證書(shū),并通過(guò)Nginx作為反向代理。

  1. 修改docker-compose.yml
version: '3.8'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: your_root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
expose:
- "80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- wordpress_data:/var/www/html

nginx:
image: nginx:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./certbot/www:/var/www/certbot
- ./certbot/conf:/etc/letsencrypt
depends_on:
- wordpress

certbot:
image: certbot/certbot
volumes:
- ./certbot/www:/var/www/certbot
- ./certbot/conf:/etc/letsencrypt
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; sleep 12h & wait $${!}; done;'"

volumes:
db_data:
wordpress_data:
  1. 創(chuàng)建nginx.conf文件
events {
worker_connections 1024;
}

http {
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge/ {
root /var/www/certbot;
}
}

server {
listen 443 ssl;
server_name yourdomain.com www.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;
}
}
}
  1. 獲取SSL證書(shū)
docker-compose run --rm certbot certonly --webroot --webroot-path /var/www/certbot --dry-run -d yourdomain.com -d www.yourdomain.com

如果測(cè)試成功,去掉--dry-run參數(shù)重新運(yùn)行獲取真實(shí)證書(shū)。

  1. 重啟服務(wù)
docker-compose down && docker-compose up -d

配置WordPress使用HTTPS

  1. 登錄WordPress后臺(tái)
  2. 進(jìn)入”設(shè)置”->“常規(guī)”
  3. 將”WordPress地址(URL)“和”站點(diǎn)地址(URL)“中的http改為https
  4. 點(diǎn)擊”保存更改”

常見(jiàn)問(wèn)題解決

  1. 證書(shū)續(xù)期失敗
  • 確保域名解析正確
  • 檢查防火墻是否開(kāi)放80和443端口
  • 查看certbot容器的日志
  1. 混合內(nèi)容警告
  • 安裝”Really Simple SSL”插件自動(dòng)修復(fù)
  • 或手動(dòng)更新數(shù)據(jù)庫(kù)中的http鏈接為https
  1. 性能優(yōu)化
  • 添加緩存插件如WP Super Cache
  • 考慮使用Redis作為對(duì)象緩存

結(jié)語(yǔ)

通過(guò)Docker部署WordPress并配置HTTPS,我們不僅獲得了便捷的部署方式,還確保了網(wǎng)站的安全性。這種方案易于維護(hù)和擴(kuò)展,適合個(gè)人博客到中小型企業(yè)網(wǎng)站的各種場(chǎng)景。隨著容器化技術(shù)的普及,這種部署方式將成為WordPress部署的標(biāo)準(zhǔn)實(shí)踐之一。