小知识:使用Docker Swarm 搭建WordPress的方法

起因

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

购买主机

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

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

配置如下图

%小知识:使用Docker Swarm 搭建WordPress的方法-猿站网-插图

初始化 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的方法的文章就介绍到这了,更多相关docker swarm搭建wordpress内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000022679362

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker容器的网络管理和网络隔离的实现

2023-3-30 12:54:56

建站知识

小知识:docker环境下安装jenkins容器的详细教程

2023-3-30 13:09:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索