分类: 服务器
-
本文记录了在 Rancher 环境中解决 NAS 存储挂载失败的过程。起初配置卷映射后,容器日志出现变量未绑定错误且目录挂载不符合预期。通过在调度规则中指定特定主机进行升级,挂载恢复正常。经排查分析,原因是初始调度到的目标主机 lb 上不存在 /webtv 目录,而调整后的主机 wjdev02 上包含该路径,最终确认故障根源在于物理节点存储资源的差异。
-
在 Jenkins 中构建镜像时遇到无法读取远程仓库的错误,虽然 Packagist 镜像地址已切换为阿里云,问题仍未解决。最终通过将 vendor 目录添加至 Git 仓库,并编辑 .gitignore 文件保留该目录,随后修改 Dockerfile 删除与 composer 相关的 4 行命令,再次执行构建后成功解决问题。
-
针对基础镜像中存在且不再需要的空白目录 /sobey,在无法升级基础镜像的情况下,通过在 Dockerfile 中增加 RUN rm -rf /sobey 指令来删除该文件夹。构建过程运行正常,最终验证容器内目录 /sobey 已不存在,达到了预期的清理效果。
-
本文针对 CentOS 7.5 64 位环境下 PHP 7.4 报错“Module ‘zip’ already loaded”的问题进行了分析,通过检查 phpinfo 和 php.ini 确认 zip 扩展已安装。经排查发现 zip 扩展在编译时默认启用,无需在配置文件中再次加载,最终通过在 Dockerfile 中使用 sed 命令删除 php.ini 中的相关配置成功解决了冲突。
-
本文记录了将 /vendor 目录加入 Git 仓库以配合 Docker 部署的排查过程。起初因删除 composer install 导致 Rancher 启动失败,经分析发现 vendor 目录下存在 .git 子目录阻碍了文件提交。通过删除 .git 目录并重新提交,同时使用 composer install –no-dev 优化依赖,最终解决了迁移命令报错问题,并将 Jenkins 构建时间大幅缩短。
-
为了解决一次发布需分别调用多个渠道接口的问题,文章探讨了在 Yii 2.0 中实现一键多渠道发布的方案。对比了控制器内部调用与 HTTP 调用两种方式后,因架构隔离和安全限制,最终决定采用内部 HTTP 调用方案。通过修改控制器过滤器、编写服务类及 HTTP 模型类,实现了任务组的批量同步发布。经日志与数据库验证,该方案成功完成了对企鹅号、微信等渠道的批量写入,符合预期。
-
本文记录了在 Rancher 中通过克隆容器部署集群,并配置负载均衡验证流量分发的过程。针对命令行下 Redis 锁定频率过高的问题,通过调整执行间隔、优化事务同步时间及更新逻辑,成功降低了锁定频率并提升了执行性能。测试结果验证了在不同任务数量下的同步频率平均值符合预期的理论计算公式。
-
文章介绍了在 Yii 2.0 中利用 Docker、Supervisor 及 Redis 锁定机制实现控制台命令集群部署的方法。通过改造 Redis 锁定逻辑,在同步任务前获取锁,结束后释放锁,确保同一租户的同步任务在多台服务器间不重复执行,解决了冗余问题。测试验证了该方案能显著提升任务处理性能与同步即时性,同时给出了同步间隔的计算公式及容器数量建议。
