WordPress

WordPress 基于 PHP 脚本语言 (推荐 PHP 7 或更高版本),需要 MySQL 或 MariaDB 数据库。


Docker-Compose

创建 docker-compose.yml 文件

1
nano docker-compose.yml
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
version: '3.1'

services:

wordpress:
container_name: wordpress
image: wordpress
restart: always
ports:
- 7080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: wordpress_password
WORDPRESS_DB_NAME: wordpress_db
volumes:
- ./html:/var/www/html

db:
container_name: wordpress_mysql
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: wordpress_db
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password
MYSQL_RANDOM_ROOT_PASSWORD: rootpassword
volumes:
- ./mysql:/var/lib/mysql

phpmyadmin:
container_name: wordpress_phpmyadmin
image: phpmyadmin
restart: always
ports:
- 7081:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD : rootpassword
1
docker-compose up -d

打开 7080 7081 端口

1
2
ufw allow 7080/tcp
ufw allow 7081/tcp

更改上传文件大小限制

新建 uploads.ini 文件

1
nano uploads.ini
1
2
3
file_uploads = On
upload_max_filesize = 256M
post_max_size = 256M

修改 docker-compose.yml 文件,在 volume 下面添加:

1
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

完整的配置文件:

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
version: '3.1'

services:

wordpress:
container_name: wordpress
image: wordpress
restart: always
ports:
- 7080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wordpress_user
WORDPRESS_DB_PASSWORD: wordpress_password
WORDPRESS_DB_NAME: wordpress_db
volumes:
- ./html:/var/www/html
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini

db:
container_name: wordpress_mysql
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: wordpress_db
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: wordpress_password
MYSQL_RANDOM_ROOT_PASSWORD: rootpassword
volumes:
- ./mysql:/var/lib/mysql

phpmyadmin:
container_name: wordpress_phpmyadmin
image: phpmyadmin
restart: always
ports:
- 7081:80
environment:
PMA_HOST: db
MYSQL_ROOT_PASSWORD : rootpassword

注解

PMA_HOST 是 phpMyAdmin(PMA)的一个环境变量,它指定了 PMA 将连接到的 MySQL 服务器的主机名或 IP 地址。

在 Docker 中,当您使用 PMA 镜像时,将需要设置 PMA_HOST 环境变量来告诉 PMA 如何连接到 MySQL 数据库。例如,您可以将 PMA_HOST 设置为 MySQL 容器的名称或 IP 地址。

以下是一个示例命令,在这个命令中,我们将使用 Docker 运行 PMA,并将 PMA_HOST 设置为 MySQL 容器的名称:

1
2
3
4
5
docker run --name my-pma -d \
--link my-mysql:mysql \
-p 8080:80 \
-e PMA_HOST=my-mysql \
phpmyadmin/phpmyadmin

在上面的命令中,--link 标志用于链接 MySQL 容器,并将其命名为 mysql,然后将 PMA_HOST 设置为 my-mysql,这是 MySQL 容器的名称。


内网穿透

wordpress 在本地搭建进行内网映射时,会产生跳转到端口的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
[wordpress]
type = tcp
local_ip = 127.0.0.1
local_port = 7080
remote_port = 7024
custom_domains = wordpress.rahn.top

[phpmyadmin]
type = tcp
local_ip = 127.0.0.1
local_port = 7081
remote_port = 7025
custom_domains = phpmyadmin.rahn.top

官方地址:https://wordpress.org/