多台服务器配置 Laravel 询问配置经验?

多台服务器配置laravel遇到了好多问题
1.需要统一修改框架的logs cache目录,目前解决办法不是很好用,从网上搜的。
2.四套环境如何加载不同的env配置,用Jenkins发布,如果每次都添加.env 文件多台服务器添加不过来啊,目前是修改全局变量,但是php artisan执行获取不到,直接root 执行与 www用户执行都要个字加上环境变了也比较麻烦,每次发布之后 www的环境变量需要重新Source
各位大牛有什么解决办法吗

《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 2

Jenkins+Docker
Mina+Docker

这两个方案应该都不错,Jenkins 和 Mina 保证自动化,Docker 保证环境一致性,可代码版本化。

不同的 ENV 目前我也没有什么好的方案,环境变量是个好方案,只是可能需要在使用的地方注意一下代码的调用方式。Docker 的环境变量只需要放在配置文件里,生产环境的 ENV 理应是手动配置的,手动配置4台我觉得还是可以接受的,毕竟不用天天做。

如果你的配置项不敏感,你可以直接放代码库里,部署的时候执行 cp env.{$host} .env,不过大多数情况下,还是需要由管理权限者手动配置,其他有部署权限的人在本地执行部署命令就行了。

9年前 评论
Oraoto

.env 我们在用consul + consul-template 自动同步,模板就是这样:

{{ range ls "projects/project-name" }}
{{ .Key }}={{ .Value }}{{ end }}

还没考虑上Docker,如果用Docker我想通过volume共享.env,这样就不用在容器里跑consul-template。

9年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!