服务器 
首页 > 服务器 > 浏览文章

使用Docker Swarm 搭建Wordpress的方法

(编辑:jimmy 日期: 2024/12/23 浏览:3 次 )

起因

我曾经把 wordpress 搭建在 Vultr 上,但是因为众所周知的原因,这个地方访问越来越慢。再后来我选择了新浪云,新浪云的确够便宜,也很不错,但是要备案,还有评论功能估计要阉割,想想还是算了,找个香港的主机搭建 wordpress 即可。

购买主机

我这里选择的是阿里云的轻量应用服务器,这个主机的好处就是便宜,够用。
比如我选择的香港的主机,一个月只需要 24 块钱,一核心一G内存,网速为 30Mbps,磁盘空间 25GB,月流量 1TB。

配置如下图

使用Docker Swarm 搭建Wordpress的方法

初始化 docker 环境

虽然上面有一件安装wordpress的功能,但是我不推荐,因为配置都太老了
最终我选择的是 ubuntu18.04 系统,直接用下面的命令即可完成安装 docker 并且初始化 docker swarm

curl -o- -L https://gist.githubusercontent.com/hangox/e679464f35dc2a78920e6249a21d7958/raw/c5541e38979dca1e3e1e9704ad171ed2f0556fa1/ubunut-install-docker.sh | bash

编写 docker-compose

配置一览

version: '3.7'

services:
 caddy:
  image: abiosoft/caddy
  ports:
   - 80:80
   - 443:443
  environment:
   - ACME_AGREE=true
   - TZ=Asia/Shanghai
  volumes:
   - caddy:/root/.caddy
   - wp-src:/usr/src/wordpress
  configs:
   - source: wp_caddy
    target: /etc/Caddyfile
 app:
  image: wordpress:5.4.1-php7.2-fpm
  environment:
   TZ: Asia/Shanghai
   WORDPRESS_DB_HOST: wp_db:3306
   WORDPRESS_DB_USER: root
   WORDPRESS_DB_PASSWORD: yourpassword
   WORDPRESS_DB_NAME: wordpress
  depends_on:
   - db
  volumes:
   - wordpress:/var/www/html
   - wp-src:/usr/src/wordpress
 db:
  image: mysql:8
  environment:
   TZ: Asia/Shanghai
   MYSQL_ROOT_PASSWORD: yourpassword
   MYSQL_DATABASE: wordpress
  command: --default-authentication-plugin=mysql_native_password
  volumes:
   - db:/var/lib/mysql

volumes:
 wordpress:
 db:
 caddy:
 wp-src:
configs:
 wp_caddy:
  external: true

配置解析

caddy

用来做反向代理,同时兼顾 https 证书申请,配置如下

https://47log.com https://www.47log.com {
  root /usr/src/wordpress
  gzip
  fastcgi / wp_app:9000 php
  rewrite {
    if {path} not_match ^\/wp-admin
    to {path} {path}/ /index.php"color: #ff0000">使用 docker stack 部署

一行命令 docker stack deploy -c docker-compose.yml wp 等一段时间就能进入 wordpress 了

为什么使用 docker swarm。 因为有 portainer , docker-swarm 接入到 portainer 之后可以有全功能的配置能力。

上一篇:nginx cookie有效期讨论小结
下一篇:linux系统安装msf的过程详解