国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 手游| 安国市| 余干县| 建湖县| 咸宁市| 体育| 云南省| 上高县| 五华县| 无锡市| 明光市| 余庆县| 天全县| 双柏县| 河西区| 水富县| 山东省| 眉山市| 徐州市| 醴陵市| 土默特左旗| 牙克石市| 驻马店市| 高尔夫| 新平| 洛宁县| 江陵县| 郴州市| 定西市| 肃北| 拉萨市| 峨眉山市| 剑川县| 衡东县| 清原| 宜阳县| 巴东县| 富平县| 易门县| 曲阳县| 英吉沙县|