docker搭建个人博客Wordpress

docker搭建个人博客Wordpress

一、重裝系统

1
bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 11 -v 64 -p asdasd123123 -port 22

-p 后面为root密码

二、更新环境

1
apt update -y  && apt upgrade -y && apt install -y curl wget sudo socat

三、安装 Docker

1
2
3
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

四、创建wp目录,创建配置文件

1
cd /home/ && mkdir wp1 && cd wp1 && nano docker-compose.yml

五、搭建wp代码

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
version: '3.8'



services:

web:

image: nginx

ports:

- 80:80

- 443:443

volumes:

- ./nginx/nginx.conf:/etc/nginx/nginx.conf

- ./nginx/certs:/etc/nginx/certs





wordpress:

image: wordpress

ports:

- 9000:80

environment:

WORDPRESS_DB_HOST: database

WORDPRESS_DB_NAME: wordpress

WORDPRESS_DB_USER: wordpress

WORDPRESS_DB_PASSWORD: kejixiaoxinwordpress_password123

volumes:

- wordpress-data:/var/www/html





database:

image: mysql

# image: arm64v8/mysql

# ARM使用上面的镜像 去掉井号 同时为image: mysql加上井号

environment:

MYSQL_ROOT_PASSWORD: root_password

MYSQL_DATABASE: wordpress

MYSQL_USER: wordpress

MYSQL_PASSWORD: kejixiaoxinwordpress_password123

volumes:

- mysql:/var/lib/mysql



volumes:

wordpress-data:

mysql:

六、创建nginx容器所需目录

1
cd /home/wp1 && mkdir nginx && cd nginx && mkdir certs

七、进入目录,创建一个nginx配置文件

1
cd /home/wp1/nginx/ && nano nginx.conf

八、搭建反代代码

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
49
50
51
52
53
54
events {

worker_connections 1024;


}



http {



client_max_body_size 1000m;


#上传限制参数1G以内文件可上传


server {

listen 80;

server_name 加上自己域名;

return 301 https://$host$request_uri;

}

server {

listen 443 ssl http2;

server_name 加上自己域名;

ssl_certificate /etc/nginx/certs/cert.pem;

ssl_certificate_key /etc/nginx/certs/key.pem;

location / {

proxy_pass http://服务器地址:9000;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

}

}

}

九、创建SSL证书,我是用CF的15年证书

1
2
3
4
5
公钥
cd /home/wp1/nginx/certs && nano cert.pem

私钥
cd /home/wp1/nginx/certs && nano key.pem

十、运行指令

1
cd /home/wp1 && docker-compose up -d

十一、开机自启动

1
docker update --restart=always wp1-wordpress-1 && docker update --restart=always wp1-database-1 && docker update --restart=always wp1-web-1

十三、其他

1、备份

1
cd /home && tar -czvf wp1.tar.gz wp1/

2、迁移&还原

1
cd /home && tar xvzf wp1.tar.gz