国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用Consul管理Laravel項(xiàng)目配置

LeanCloud / 1902人閱讀

摘要:?jiǎn)栴}其他方案當(dāng)我們需要在多臺(tái)服務(wù)器部署多個(gè)不同的項(xiàng)目時(shí),我們需要一個(gè)集中的配置信息管理和同步的工具。啟動(dòng)之后通過(guò)命令管理。我們用的配置模板意思是遍歷這個(gè)目錄,生成格式。

在預(yù)生產(chǎn)環(huán)境跑了一年多,在此記錄和分享一下。

問(wèn)題 & 其他方案

當(dāng)我們需要在多臺(tái)服務(wù)器部署多個(gè)不同的項(xiàng)目時(shí),我們需要一個(gè)集中的配置信息管理和同步的工具。考慮過(guò)的方案有:

用rsync同步.env文件:多個(gè)項(xiàng)目的配置略繁瑣,要ssh到服務(wù)器修改再同步

用Docker:集群部署比較方便,可以用圖形界面修改環(huán)境變量,但是更新環(huán)境變量要重啟容器,大部分項(xiàng)目沒遷移到Docker

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

安裝

Consul和Consul Template都提供了預(yù)編譯的可執(zhí)行文件,下載解壓即可。

啟動(dòng)Consul:

consul agent -server -bootstrap -ui -bind 

其他服務(wù)節(jié)點(diǎn)可以通過(guò)consul agent -join 加入到集群。

啟動(dòng)之后通過(guò)consul命令、RESTful API、Web UI管理Consul。

Consul KV

Consul提供了一個(gè)分布式的鍵值對(duì)存儲(chǔ),可以用來(lái)存儲(chǔ)應(yīng)用的動(dòng)態(tài)配置信息,基本操作:

# put 設(shè)置一個(gè)KV對(duì)
consul kv put APP_DEBUG false

# get 獲取
consul kv get APP_DEBUG

# exprot 導(dǎo)出JSON
consul kv export > data.json

# import 導(dǎo)入JSON
consul kv import @data.json

# delete 刪除
consul kv delete APP_DEBUG

Consul KV支持目錄,可以通過(guò)/分隔key實(shí)現(xiàn),例如我們使用configs//這樣的目錄來(lái)存放一個(gè)項(xiàng)目的所有配置。

Consul Template

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

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

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

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

運(yùn)行:

## 格式: 模板文件:目標(biāo)文件:更新后執(zhí)行的命令
consul-template --template 
    /path/to/.env.tpl:/path/to/.env:"php /path/to/artisan config:cache"

就可以生成.env文件,并且持續(xù)監(jiān)聽變化,一個(gè)consul-template實(shí)例可以有多個(gè)--template多個(gè)參數(shù),可以為一臺(tái)服務(wù)器上多個(gè)項(xiàng)目生成配置文件。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/28932.html

相關(guān)文章

  • 對(duì)PHP項(xiàng)目在Docker上運(yùn)行的一些探索

    摘要:二緣起對(duì)于一個(gè)普通的屌絲創(chuàng)業(yè)公司的屌絲項(xiàng)目來(lái)說(shuō),理論上來(lái)說(shuō)是沒必要用太復(fù)雜的技術(shù)的,對(duì)新技術(shù)的克制也是碼農(nóng)的一個(gè)職業(yè)操守。 Docker出現(xiàn)后,容器技術(shù)在互聯(lián)網(wǎng)領(lǐng)域得到了空前的普及,無(wú)論是大公司還是屌絲創(chuàng)業(yè)公司的碼農(nóng)基本上都會(huì)在各種技術(shù)社區(qū)或者各種演講會(huì)議上了解到過(guò)相關(guān)技術(shù),我們作為一家屌絲創(chuàng)業(yè)公司也不例外,去年對(duì)Docker做了一番了解,并在年前測(cè)試了一些方案,今天在這里總結(jié)一下遇到...

    liaorio 評(píng)論0 收藏0
  • 對(duì)PHP項(xiàng)目在Docker上運(yùn)行的一些探索

    摘要:二緣起對(duì)于一個(gè)普通的屌絲創(chuàng)業(yè)公司的屌絲項(xiàng)目來(lái)說(shuō),理論上來(lái)說(shuō)是沒必要用太復(fù)雜的技術(shù)的,對(duì)新技術(shù)的克制也是碼農(nóng)的一個(gè)職業(yè)操守。 Docker出現(xiàn)后,容器技術(shù)在互聯(lián)網(wǎng)領(lǐng)域得到了空前的普及,無(wú)論是大公司還是屌絲創(chuàng)業(yè)公司的碼農(nóng)基本上都會(huì)在各種技術(shù)社區(qū)或者各種演講會(huì)議上了解到過(guò)相關(guān)技術(shù),我們作為一家屌絲創(chuàng)業(yè)公司也不例外,去年對(duì)Docker做了一番了解,并在年前測(cè)試了一些方案,今天在這里總結(jié)一下遇到...

    amc 評(píng)論0 收藏0
  • 對(duì)PHP項(xiàng)目在Docker上運(yùn)行的一些探索

    摘要:二緣起對(duì)于一個(gè)普通的屌絲創(chuàng)業(yè)公司的屌絲項(xiàng)目來(lái)說(shuō),理論上來(lái)說(shuō)是沒必要用太復(fù)雜的技術(shù)的,對(duì)新技術(shù)的克制也是碼農(nóng)的一個(gè)職業(yè)操守。 Docker出現(xiàn)后,容器技術(shù)在互聯(lián)網(wǎng)領(lǐng)域得到了空前的普及,無(wú)論是大公司還是屌絲創(chuàng)業(yè)公司的碼農(nóng)基本上都會(huì)在各種技術(shù)社區(qū)或者各種演講會(huì)議上了解到過(guò)相關(guān)技術(shù),我們作為一家屌絲創(chuàng)業(yè)公司也不例外,去年對(duì)Docker做了一番了解,并在年前測(cè)試了一些方案,今天在這里總結(jié)一下遇到...

    phodal 評(píng)論0 收藏0
  • React搭建個(gè)人博客(二)consul-template+nginx+docker實(shí)現(xiàn)負(fù)載均衡

    摘要:前兩個(gè)數(shù)據(jù)業(yè)務(wù)相關(guān)的服務(wù)即下圖的,第三個(gè)項(xiàng)目就是的實(shí)現(xiàn)的負(fù)載均衡。這里后臺(tái),前臺(tái)項(xiàng)目各啟動(dòng)了三個(gè)實(shí)例,用戶訪問(wèn)的時(shí)候,就會(huì)根據(jù)配置的負(fù)載均衡的策略,訪問(wèn)其中一個(gè)。這一部分與之前我轉(zhuǎn)發(fā)的實(shí)現(xiàn)服務(wù)發(fā)現(xiàn)及網(wǎng)關(guān)其實(shí)也只是差了個(gè)網(wǎng)關(guān)和負(fù)載均衡。 一.簡(jiǎn)介 上一篇只講了博客的前端問(wèn)題,這一篇講一下后端的微服務(wù)搭建。項(xiàng)目的后端使用的thinkjs框架,在我之前的博客中已經(jīng)寫過(guò),這里就不重點(diǎn)說(shuō)明了。后...

    Coding01 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<