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

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

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

Jenkins+Docker
Mina+Docker

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

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

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

8年前 评论
Oraoto

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

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

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

8年前 评论

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