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/bashwordpress 容器中的这个路径/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 updateapt-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 wordpresswordpress启用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/bashapt-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/halodocker-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: alwaysDocker部署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/htmlhttps://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/