分类: 服务器
-
本文介绍了在 Yii 2 高级项目模板中,使用 Nginx 实现单域名配置以支持 frontend、backend 和 api 三个应用的过程。通过修改 hosts 文件、调整各应用的配置文件以及 Nginx 配置文件,设定了正确的 baseUrl、会话与 Cookie 处理方式及路由规则。最终测试显示,各应用的静态资源访问、页面路由及调试模块均能按预期正确响应。
-
本文介绍了基于 yiisoft/yii2-app-advanced 模板在 GitHub 上新建仓库并实现 RPC 服务端的过程。文章首先通过 Postman 验证了 API 目录中 RESTful 风格接口的正常运行,随后使用 Composer 安装 Hprose,复制并调整 frontend 目录以创建独立的 RPC 应用。接着,文章详细说明了配置 Bootstrap 别名、编辑环境脚本、新增 Nginx 虚拟主机及 Vagrant 配置的具体操作,并对测试套件进行了构建与运行。最终通过访问接口地址和 Vagrant 环境,验证了配置符合预期。
-
针对 Docker 和 Rancher 部署环境,文章探讨了利用 Supervisor 定时执行 Yii 2 控制台命令的实施方案。通过创建配置文件设置间隔与停止等待时间,并升级以解决环境变量替换问题,最终实现了命令的预期执行。同时,针对日志输出未自动换行导致可读性差的情况,通过修改控制器代码添加换行符,完成了日志格式的优化。
-
本文解决了在 Yii 2 中基于 Hprose 实现 RPC 服务时报错 passthru() has been disabled for security reasons 的问题。本地环境接口请求成功,但开发环境请求失败,排查后发现是 PHP 配置限制了该函数。通过编辑客户端与服务端的 Dockerfile,从 disable_functions 配置项中删除 passthru,重新部署后再次请求接口,响应成功恢复正常。
-
本文分析了 Rancher 升级时环境变量未执行替换的问题,排查发现容器日志报错无法打开文件。经分析,环境变量值中的井号导致冲突,且 sed 命令参数格式缺少空格。将井号替换为其他符号并修正命令空格后,配置文件中的变量得以成功替换。
-
本文针对 Rancher 升级过程中因缺少特定环境变量导致容器启动失败的问题进行了分析。通过修改用于替换环境变量的 Shell 脚本,增加了变量存在性判断逻辑,仅当变量存在时才执行替换操作并添加日志。经过重新构建镜像并在升级时故意删除相关变量进行测试,结果显示升级成功且配置文件未发生替换,验证了修复方案的有效性。
-
Jenkins构建镜像时遇到Process类依赖proc_open函数报错,原因是无法下载dist包转而从源代码下载导致。解决方法为编辑Dockerfile,在disable_functions配置中删除proc_open和proc_close。此前因能下载dist包不涉及源码编译故未报错,移除禁用函数限制后重新构建镜像,最终从源代码下载成功并完成构建。
-
针对 Rancher 环境变量中配置升级后变量未被正确替换的问题,经排查发现,根本原因在于脚本文件编写时变量引用符号存在遗漏,而非中文内容本身。通过编辑初始化脚本,将涉及中文变量的部分修正为正确的变量引用格式,重新部署升级后验证,容器内配置文件中的变量能够成功替换。该过程表明问题属于脚本语法错误,对特定环境变量的替换逻辑进行了修复。
-
针对 Rancher 升级失败出现 Rolling-Back 状态导致无法再次升级的问题,通过查看日志发现环境变量丢失。解决过程包括克隆服务为 pcs-backup 并指定镜像版本进行升级,待其成功后删除原服务,再将 pcs-backup 重命名为 pcs,最终恢复服务正常运行。
-
在基于 Jenkins 构建过程中遇到执行 composer install 返回非零代码 255 的报错。通过排查,发现是 Docker 容器中运行 composer 无反应所致。通过编辑 Dockerfile 修改 php.ini 配置,调整 open_basedir 指定 PHP 所能打开的文件目录树,并开启 allow_url_fopen,最终再次构建时符合预期成功解决了该问题。
