782 字
4 分钟
wordpress和typecho和halo三种博客部署教程

使用Docker部署#

Docker-compose部署wordpress#

创建项目文件夹

mkdir wordpress && cd wordpress

创建docker-compose.yml文件并写入以下代码配置:

services:
db:
image: mysql:8.0
volumes:
- ./data/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpressyyds
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wp
wordpress:
container_name: wordpress
depends_on:
- db
image: wordpress:latest
volumes:
- ./data/wp:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
networks:
- wp
networks:
wp:

运行:

docker compose up -d

站点端口为 8000 后台路径 /wp-admin


修改docker中wordpress的上传限制。#

进入 wordpress 容器

docker exec -it wordpress /bin/bash

wordpress 容器中的这个路径/usr/local/etc/php/,是存放 php.ini 的地方,但是默认是没有 php.ini 这个文件的,所以我们要通过复制一份php.ini-production文件,来生成 php.ini 文件。

cd /usr/local/etc/php/
cp php.ini-production php.ini

然后使用vim编辑器修改即可,如果没有则需要安装一下

更新及安装vim,使用如下代码

apt-get update
apt-get install vim

安装完成vim,现在就可以对php.ini进行编辑了。

vim php.ini

找到这几个变量,根据自己需求修改。

upload_max_filesize = 2M # PHP最大上传文件大小
post_max_size = 8M # 服务器最大数据量和文件大小
memory_limit = 128M # PHP内存占用限制

最后一步!

重启wordpress

docker restart wordpress


wordpress启用redis缓存的部署方法#

services:
db:
image: mysql:8.0
volumes:
- ./data/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: wordpressyyds
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
networks:
- wp
wordpress:
container_name: wordpress
depends_on:
- db
- redis # 添加redis
image: wordpress:latest
volumes:
- ./data/wp:/var/www/html
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_REDIS_HOST: redis
networks:
- wp
redis:
image: redis:alpine
container_name: redis
restart: always
networks:
- wp
networks:
wp:
  • wp-config.php文件中添加以下代码
define('WP_REDIS_HOST', 'redis');
define('WP_CACHE', true);
// 确保添加在这个代码前面
/* That's all, stop editing! Happy blogging. */
  • 容器内安装redis扩展
docker exec -it wordpress /bin/bash
apt-get update && apt-get install -y libz-dev libssl-dev
pecl install redis # 这里直接一路回车
docker-php-ext-enable redis
  • 重启容器
docker restart wordpress
  • 插件商城搜索安装redis官方插件:Redis Object Cache 并启用redis缓存

  • 修改后台路径插件WPS Hide Login
  • 备份插件WPvivid
  • 直播播放器插件SRS Player
  • 优化性能缓存插件WP Fastest Cache
  • 压缩图片和懒加载插件Smush

Docker部署halo博客#

docker run -it -d --name halo -p 8090:8090 -v ./halo2:/root/.halo2 halohub/halo:2

地址: IP:8090

后台路径:/console


国内阿里云镜像

registry.fit2cloud.com/halo/halo

docker-compose.yaml部署#

services:
halo:
image: halohub/halo:2
restart: always
depends_on:
- mysql
ports:
- "8090:8090"
volumes:
- ./halo2:/root/.halo2
command:
- --spring.r2dbc.url=r2dbc:pool:mysql://mysql:3306/halo
- --spring.r2dbc.username=halo
- --spring.r2dbc.password=halo_password
- --spring.sql.init.platform=mysql
- --halo.external-url=http://公网IP:8090/
mysql:
image: mysql:5.7
container_name: mysql
environment:
MYSQL_DATABASE: halo # 数据库名称
MYSQL_USER: halo # 数据库用户名
MYSQL_PASSWORD: halo_password # 数据库密码
MYSQL_ROOT_PASSWORD: halo_password # 数据库root密码
volumes:
- ./data/mysql:/var/lib/mysql # 映射数据库文件
restart: always


Docker部署typecho#

services:
mysql:
image: mysql:5.7
restart: always
environment:
MYSQL_ROOT_PASSWORD: typechoPASSWORD
MYSQL_DATABASE: typecho
MYSQL_USER: typecho
MYSQL_PASSWORD: typechoPASSWORD
volumes:
- ./mysql-data:/var/lib/mysql
typecho:
image: joyqi/typecho:nightly-php8.2-apache
restart: always
depends_on:
- mysql
ports:
- "8080:80"
environment:
TIMEZONE: Asia/Shanghai
TYPECHO_SITE_URL: https://your-domain.com
TYPECHO_DB_HOST: mysql
TYPECHO_DB_NAME: typecho
TYPECHO_DB_USER: typecho
TYPECHO_DB_PASS: typechoPASSWORD
volumes:
- ./typecho-data:/var/www/html

https://your-domain.com替换为你的网址,提前反代好。

(可选)重置后台管理员密码:删除站点目录的config.inc.php文件,然后重新安装选择保留原有数据库即可

主题文件目录usr/themes#

安装git:

apt install git -y

下载主题:

git clone 主题Git仓库地址

复制到主题目录:

docker cp 主题文件路径 typecho-server:/app/usr/themes

仓库地址

wordpress和typecho和halo三种博客部署教程
https://blog.emohe.cn/posts/wordpress和typecho和halo/
作者
阿涛の小破站
发布于
2025-01-06
许可协议
CC BY-NC-SA 4.0