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

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

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 2

Jenkins+Docker
Mina+Docker

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

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

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

6年前 评论
Oraoto

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

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

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

6年前 评论

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