多台服务器配置 Laravel 询问配置经验?
多台服务器配置laravel遇到了好多问题
1.需要统一修改框架的logs cache目录,目前解决办法不是很好用,从网上搜的。
2.四套环境如何加载不同的env配置,用Jenkins发布,如果每次都添加.env 文件多台服务器添加不过来啊,目前是修改全局变量,但是php artisan执行获取不到,直接root 执行与 www用户执行都要个字加上环境变了也比较麻烦,每次发布之后 www的环境变量需要重新Source
各位大牛有什么解决办法吗
关于 LearnKu
Jenkins+Docker
Mina+Docker
这两个方案应该都不错,Jenkins 和 Mina 保证自动化,Docker 保证环境一致性,可代码版本化。
不同的 ENV 目前我也没有什么好的方案,环境变量是个好方案,只是可能需要在使用的地方注意一下代码的调用方式。Docker 的环境变量只需要放在配置文件里,生产环境的 ENV 理应是手动配置的,手动配置4台我觉得还是可以接受的,毕竟不用天天做。
如果你的配置项不敏感,你可以直接放代码库里,部署的时候执行
cp env.{$host} .env,不过大多数情况下,还是需要由管理权限者手动配置,其他有部署权限的人在本地执行部署命令就行了。.env 我们在用consul + consul-template 自动同步,模板就是这样:
还没考虑上Docker,如果用Docker我想通过volume共享.env,这样就不用在容器里跑consul-template。