安裝狀態由DB控制 - 如果Drupal引導程序沒有數據庫信息,則將您路由到要求您提供的代碼。
我能夠通過設置AWS RDS DB並將所有實例連接到它來繞過此部分。
- 但是,等等,還有更多。現在,從同一個數據庫讀取所有實例已經消除了實例*之間的大多數併發問題。繼續,嘗試將照片添加到您的管理員配置文件。我將等待。是的,大多數時候你會得到錯誤的實例,並且一個實例上的單個映像不會顯示在所有實例上。 我正在致力於通過啓動& cron作業腳本來解決該問題,該作業腳本將更新加載到AWS S3服務的資源。
Step A load code into S3
Step B set an accessible timestamp for $lastModified to now()
Step 1 wget/curl a timestamp of the last remote modification ($lastModified)
Step 2 compare the local last updated stamp ($lastUpdated) to remote last modified timestamp
Step 3 if ($lastModified == $lastUpdated) {die} else {update incremental changes && set $lastUpdated = $lastModified}
看着第一次增量更新,這是一個很酷的。
因此...另外我應該提到的是,當我們實例化一個圖像時,我們正在安裝完整的vanilla drupal,作爲來自drupal的Docker文件的一部分,drupal apache圖像Docker文件運行的最後一件事是安裝腳本。
Elastic Beanstalk集環境變量 - 其中一些變量是亞馬遜訪問密鑰ID和訪問密鑰。
我捲曲的IP只可彈性魔豆的內部捲曲-v 169.254.169.254
從設定腳本輸出,如果我是本地人AWS EB或AWS EB我可以告訴。這允許我有條件地更改某些配置,例如將RDS或本地MySQL DB連接到Drupal。
安裝腳本使用aws cli從S3(同步)中提取以添加,替換,更新webroot中的所有內容,將實例轉換爲Drupal安裝中的設置,就文件級資產而言。
sed和服務重新加載完成了很多。 Elasticache vs local Redis ...
最後我們在前臺啓動web服務器& & tail -f/dev/null所以容器不會立即關閉。
Drupal僅適用於我們的Web應用程序的靜態資產頁面和頁眉/菜單/頁腳包裝器(模板已投放...,Twig/JS使用數據填充模板)。身份驗證通過API進行 - 即使在Drupal中使用90%左右的優點也沒有......
增量更改是通過比較散列值和運行更新過程(如果它們不同)來提取的。
我猜你正在部署標準的Drupal每次到beanstalk實例? –
什麼是標準Drupal?我從https://www.drupal.org/project/drupal下載了Drupal v7.37。我將內容提取到我的彈性beanstalk文件夾中,並運行「eb deploy」。然後,我運行安裝併成功完成。之後,如果我更改了drupal文件夾中的任何文件並再次進行部署,我會重新開始安裝。 運行安裝後,應該在我的本地計算機的drupal文件夾中創建「settings.php」和「/ default/files」目錄(它們不存在於本地計算機上)? – puntubabu
對不起,本來應該添加更多信息。當您在彈性beanstalk上安裝drupal時,它會使用數據庫配置創建一個設置文件。下次將代碼部署到新實例時,實際上並未部署此設置文件,而是使用vanilla drupal代碼。你需要做的是,在本地運行安裝,然後執行「eb deploy」。如果您不想將設置提交到文件,您還可以利用Beanstalk「環境屬性」設置不同的配置值。 –