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:
sudo apt install git
下载主题:
git clone 主题Git仓库地址
复制到主题目录:
docker cp 主题文件路径 typecho-server:/app/usr/themes