2017-01-09 15 views
0

在我的廚師食譜中,我使用remote_file訪問http服務器上的文件。我想使用Chef服務器的ngnix來提供這些文件。 如何配置廚師的nginx使用http爲特定文件夾中的文件提供服務?如何將網頁文件夾添加到廚師的私人nginx?

+1

這是一個非常糟糕的主意。 1)這不是一個支持的功能。 2)如果你堅持並調整它,它會在任何更新中崩潰。 3)使用像nexus或ar​​tifactory這樣真正的工件管理器,或者使用獨立的nginx/apache來提供這些包,稍後你會感謝你自己。 – Tensibai

回答

0

我們有很多機器在局域網中配置廚師。在我們的食譜中還有很多remote_file資源。問題是:從互聯網上下載花費了大量時間,但同時該文件在局域網中的另一臺機器上可用。

我所做的是:

  • 二進制文件存儲安裝的Nexus。
  • Monkeypatched remote_file資源使用食譜庫中的庫,以便每次加載食譜時都會加載資源,覆蓋原始資源行爲。

現在每次都在remote_file資源下載一些文件,它會先問一下Nexus。如果該文件在Nexus中可用,則從那裏下載。 如果在那裏沒有這樣的文件,Chef會從原始來源下載文件,然後將其上傳到Nexus以供其他節點使用。

+0

我不想再安裝一個軟件。維護,文檔,...我在跳過現有的/新的配置文件中獲取單個條目。 –

+0

聽起來有點複雜。設置一個nginx實例不應該那麼麻煩,對吧?如果虛擬機對您來說很貴,請讓它與Chef Server在同一節點上運行,但在另一個端口上運行第二個nginx實例。不要擺弄廚師服務器設置本身。 – StephenKing

2

這不是廚師的特色。您可以使用Cookbook中的files/文件夾和cookbook_file資源直接從Chef Server提供文件,但它非常有限,您應該使用自己的服務器來管理大型文件或複雜的下載。