Post Stats
此文章有 4376 个字符, 大约要花 19 分钟阅读
背景
Coolify
部署在一台 2C2G 的云服务器上。只运行了一个 WordPress
应用,
正常运行时服务器CPU占用很低(不超过20%),内存还剩余600M。但运行一阵以后服务器会卡死,磁盘在一直满速读文件,CPU占用不高。云服务上连接SSH也进不去 (VNC都进不去),
尝试了以下手段:
- 刚开始以为是WP内存占用太高,尝试限制了容器内存在400M以内。
- 再后来限制Coolify内存在 500M。
- 最后把所有的 HealthCheck 取消掉。
还是不行,最后一直观察htop
,发现是Coolify有定时任务,一直扫文件。
不确定是因为这个导致的,但我还是准备把博客从Coolify迁移回同一台机器上的宝塔。
WordPress 备份
这里因为文章还不是很多,安装了WPvivid,将整站文件夹进行了备份。
重装宝塔
备份好后直接去云服务器控制台,将机器重装镜像。
这里重装的是 centos-stream-9。
重装好后登录ssh,使用宝塔脚本安装宝塔。
yum install -y wget && wget -O install.sh https://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec
安装好后设置宝塔的用户名、密码、端口、入口地址登入宝塔。
安装 docker
前往宝塔docker面板安装docker。这里选择的清华大学源进行安装。
配置加速url
安装好后在 设置
-> 加速URL
处修改,填入加速地址。
加速地址可以参考:利用 Cloudflare Workers 自建 Docker 镜像
保存后在设置面板重启Docker服务
宝塔 Docker 安装 WordPress
前往 编排模板
新增 docker-compose.yaml 配置。
services:
wordpress:
image: "wordpress:latest"
volumes:
- "/www/wwwroot/blog/wordpress:/var/www/html"
container_name: wordpress-web
environment:
- WORDPRESS_DB_HOST=mariadb
- WORDPRESS_DB_USER=root
- WORDPRESS_DB_PASSWORD=blog.evef1.top
- WORDPRESS_DB_NAME=wordpress
restart: always
depends_on:
- mariadb
ports:
- "127.0.0.1:8080:80"
deploy:
resources:
limits:
memory: 440M
reservations:
memory: 160M
mariadb:
image: "mariadb:11"
volumes:
- "/www/wwwroot/blog/mysql:/var/lib/mysql"
container_name: wordpress-mariadb
environment:
- MYSQL_ROOT_PASSWORD=blog.evef1.top
- MYSQL_USER=root
- MYSQL_DATABASE=wordpress
restart: always
deploy:
resources:
limits:
memory: 440M
reservations:
memory: 160M
phpmyadmin:
image: "phpmyadmin:latest"
container_name: wordpress-phpmyadmin
environment:
- PMA_ARBITRARY=1
depends_on:
- mariadb
ports:
- "127.0.0.1:8081:80"
deploy:
resources:
limits:
memory: 120M
reservations:
memory: 60M
保存后点击拉取镜像。然后前往容器编排
新增对应的编排模板即可。
error establishing a database connection 问题修复
启动后发现打开Wordpress报error establishing a database connection
。
但是通过phpmyadmin
链接数据库是没问题的。
后来经过调查发现是 wp-config.php
文件中,define( 'DB_HOST', getenv_docker('WORDPRESS_DB_HOST', 'mysql'));
获取不到环境变量,其他环境变量正常可以获取到。
将其改为define( 'DB_HOST', 'mariadb' )
重启即可。
恢复备份
登录Wordpress后台,安装WPvivid
插件。上传备份文件,点击还原。
WordPress就装好了。
Coolify 与 宝塔的对比
反向代理
Coolify:使用traefik
宝塔:使用Nginx
内存:
2G内存
Coolify:正常运行要吃400-600M内存
宝塔:大概吃100-200M内存(配置完后可以关闭宝塔服务)
CPU
2CPU核心:
Coolify:正常运行存在很多定时任务和健康检查,会占约15%的CPU资源
宝塔:没什么定时任务,也不具备自带的健康检查,会占1.5%的CPU资源
SSL证书
Coolify: 利用traefik自动续签,支持非常多的dns云
宝塔:固定三家dns云
其他功能
Coolify: 没什么其他功能了
宝塔:运维工具齐全,FTP,SSH,防火墙,监控,日志,自定义定时任务。
WordPress 再次崩溃
最后发现是阿里云centos-stream-9
镜像有定时任务一直在执行 dnf makecache
。
Comments NOTHING