# wordpress部署-docker **Repository Path**: myhfw003/wordpress-deployment---docker ## Basic Information - **Project Name**: wordpress部署-docker - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-04-06 - **Last Updated**: 2024-07-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用docker容器技术部署wordpress 环境: + 阿里云ECS + Debian 10.9 1. 移除当前系统 Docker ``` sudo apt-get remove docker docker-engine docker.io containerd runc ``` 2. 添加信任公钥 ``` curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg ``` 3. 添加镜像仓库 ``` echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/debian \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null ``` 4. 开始安装 ``` sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io ``` 5. 配置Docker 镜像加速, 加速器地址可以通过阿里云容器镜像控制台 左侧菜单的镜像工具 > 镜像加速器 获取,示例 ``` sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://cjc4qftt.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` 6. 编写 WordPress Docker Compose 文件 wordpress.yml ``` version: "3.9" services: database: image: mysql:5.7 volumes: - database:/var/lib/mysql deploy: restart_policy: condition: on-failure delay: 5s max_attempts: 3 environment: MYSQL_ROOT_PASSWORD: qq_112358 MYSQL_DATABASE: wp_db MYSQL_USER: wp_user_admin MYSQL_PASSWORD: qq_112358 wordpress: depends_on: - database image: wordpress:5.8.2 volumes: - web:/var/www/html ports: - "8000:80" deploy: restart_policy: condition: on-failure delay: 5s max_attempts: 3 environment: WORDPRESS_DB_HOST: database:3306 WORDPRESS_DB_USER: wp_user_admin WORDPRESS_DB_PASSWORD: qq_112358 WORDPRESS_DB_NAME: wp_db volumes: database: web: ``` 7. 通过 Stack 进行服务编排 ``` sudo docker swarm init sudo docker stack deploy -c wordpress.yml wordpress ``` 8. 安装 Nginx 并配置 SSL ``` sudo apt install nginx sudo apt install certbot python3-certbot-nginx ``` 9. 配置SSL,Certbot 会自动获取 SSL 证书并处理配置文件 ``` sudo certbot --nginx //获取证书,并修改配置 sudo certbot renew --dry-run //自动检查证书 sudo nginx -s reload //nginx从新加载证书 ``` 10. 新添Nginx 配置 > /etc/nginx/conf.d/wp.9ihub.com.conf ``` server { listen 80; server_name wp.9ihub.com; return 301 https://wp.9ihub.com$request_uri; } server { listen 443; server_name wp.9ihub.com; ssl on; ssl_certificate /etc/nginx/ssl_common/fullchain.cer; ssl_certificate_key /etc/nginx/ssl_common/*.9ihub.com.key; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $http_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; client_max_body_size 100m; } } ``` 效果如下:祝部署顺利! ![20220406175742](https://oss.9ihub.com/test/20220406175742.png)