怎么使用Docker Swarm搭建Wordpress

来源:undefined 2024-12-24 12:06:59 1010

下面由wordpress教程栏目给大家介绍使用 docker swarm 搭建 wordpress的方法,希望对需要的朋友有所帮助!

使用 Docker Swarm 搭建 Wordpress

起因

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

购买主机

我这里选择的是阿里云的轻量应用服务器,这个主机的好处就是便宜,够用。

比如我选择的香港的主机,一个月只需要 24 块钱,一核心一G内存,网速为 30Mbps,磁盘空间 25GB,月流量 1TB。

配置如下图

初始化 docker 环境

虽然上面有一件安装wordpress的功能,但是我不推荐,因为配置都太老了

最终我选择的是 ubuntu18.04 系统,直接用下面的命令即可完成安装 docker 并且初始化 docker swarm

1

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

登录后复制

编写 docker-compose

配置一览

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

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 证书申请,配置如下

1

2

3

4

5

6

7

8

9

10

11

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?_url={uri}

}

log stdout

errors stderr

}

登录后复制

这里我用到了 docker swarm 的 config 功能,直接把配置写入到 wp_caddy 这个配置中。

db

这里用的是 mysql8 , wordpress 是支持的,性能也要更好点

需要注意的,commmand 必须加上 command: --default-authentication-plugin=mysql_native_password 不然是没办法进行密码认证的,我就是忘记加这个蛋疼了一阵子。 app

注意连接方式如果你是用 docker stack 部署的,部署的是什么名字,数据库连接那里就要加上名字的前缀。比如我这里是 docker stack deploy -c docker-compose.yml wp,我这里数据库在 docker 网络中的 host 就是 wp_db。如果你的 stack 名字为 wordpress , 就要对应的改为 wordpress_db。

注意配置 volume- wordpress:/var/www/html 这个东西一定要配置,上次我就是没有配置这个东西,删掉 container,主题直接没有了。

使用 docker stack 部署

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

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

以上就是怎么使用Docker Swarm搭建Wordpress的详细内容,更多请关注php中文网其它相关文章!

最新文章