国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

使用Consul管理Laravel項目的配置介紹

2020-03-22 20:03:10
字體:
來源:轉載
供稿:網友
在預生產環境跑了一年多,在此記錄和分享一下。

2070574666-5b34a85489d35_articlex[1].png

問題 其他方案

當我們需要在多臺服務器部署多個不同的項目時,我們需要一個集中的配置信息管理和同步的工具。考慮過的方案有:

用rsync同步.env文件:多個項目的配置略繁瑣,要ssh到服務器修改再同步

用Docker:集群部署比較方便,可以用圖形界面修改html' target='_blank'>環境變量,但是更新環境變量要重啟容器,大部分項目沒遷移到Docker

下面看一下Consul + Consul Template的方案。

安裝

Consul和Consul Template都提供了預編譯的可執行文件,下載解壓即可。

啟動Consul:

consul agent -server -bootstrap -ui -bind ip 

其他服務節點可以通過consul agent -join ip 加入到集群。

啟動之后通過consul命令、RESTful API、Web UI管理Consul。

Consul KV

Consul提供了一個分布式的鍵值對存儲,可以用來存儲應用的動態配置信息,基本操作:

# put 設置一個KV對consul kv put APP_DEBUG false# get 獲取consul kv get APP_DEBUG# exprot 導出JSONconsul kv export data.json# import 導入JSONconsul kv import @data.json# delete 刪除consul kv delete APP_DEBUG

Consul KV支持目錄,可以通過/分隔key實現,例如我們使用configs/ app_name /這樣的目錄來存放一個項目的所有配置。

Consul Template

配置集中管理了,怎樣傳給Laravel呢?一個方法是在Laravel里用Consul的API獲取配置信息,第二個發放是在外部監聽KV變化然后寫入到.env文件,Consul Template就是這樣的一個外部工具。

我們用的配置模板(.env.tpl):

{{ range ls configs/crm }}{{ .Key }}={{ .Value }}{{ end }}

意思是遍歷config/crm這個KV目錄,生成key=value格式。

運行:

## 格式: 模板文件:目標文件:更新后執行的命令consul-template --template / /path/to/.env.tpl:/path/to/.env: php /path/to/artisan config:cache 

就可以生成.env文件,并且持續監聽變化,一個consul-template實例可以有多個--template多個參數,可以為一臺服務器上多個項目生成配置文件。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

Laravel服務容器(IocContainer)的解讀

Laravel用戶認證系統(基礎介紹)

Laravel微信小程序獲取用戶詳細信息及帶參數小程序碼擴展的分析

以上就是使用Consul管理Laravel項目的配置介紹的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韶关市| 娄烦县| 松溪县| 伊宁市| 嘉义市| 玛多县| 长汀县| 望江县| 察雅县| 且末县| 保靖县| 平利县| 佳木斯市| 锡林郭勒盟| 山阴县| 启东市| 定南县| 饶河县| 孝义市| 普洱| 开原市| 普兰县| 喀什市| 平顶山市| 成安县| 大埔县| 霍城县| 朝阳市| 繁峙县| 福州市| 鹰潭市| 五常市| 广德县| 塔河县| 镇原县| 临颍县| 旺苍县| 镇沅| 安徽省| 贵州省| 青铜峡市|