2015-02-10 28 views
1

我正在將承載多個「應用程序」的內部服務器遷移到AWS。在內部服務器上,託管多個應用程序是通過httpd.conf通過VirtualHosts和DocumentRoots完成的。我們目前使用Bitbucket和DeployHQ將修訂部署到此服務器。創建新的部署策略是我掙扎的地方。以下是我遇到的問題:將多個應用程序部署到私有子網上的AWS LAMP服務器

  1. Elastic Beanstalk。我創建了一個應用程序,並且可以成功部署到var/www/html目錄。但是,似乎沒有任何方法可以更改默認部署目錄。例如,我寧願部署到/ home/[用戶目錄]/[app目錄]。也似乎沒有辦法將不同的應用程序部署到不同目錄中的相同環境。其中一些應用程序非常小,並且擁有自己的服務器/環境將會過度。

  2. 應用程序服務器本身位於VPC中的私有子網中,這需要我有一箇中間人來SSH連接到它。 DeployHQ似乎無法處理中間人部署。

  3. 我似乎無法找到任何資源,可以幫助我推送訪問應用服務器的S3實例(或中間人EC2實例),然後設置某種自動部署,從S3到EC2應用服務器。

有沒有一些簡單的選項,我在這裏沒有看到?我現在正在尋找AWSCodeDeploy,但想知道是否有人已經遇到了這個問題,並有任何建議。

回答

1

如果有其他人遇到這種情況,我們決定將所有這些小項目放到一個存儲庫中。然後,我們編輯httpd.conf文件(類似於它在當前非AWS服務器上的文件),並使用指向相應目錄的不同域。編輯後的httpd.conf被放入項目倉庫根目錄下的.ebextensions文件夾中。另外這個文件夾中被稱爲01httpd.config與文件以下內容:

container_commands: replace_config: command: "cp .ebextensions/httpd.conf /etc/httpd/conf/httpd.conf"

更多信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html

雖然這個工程,最後我希望有一個更優雅的解決方案,讓一個EC2服務器這不會暴露給直接流量來託管多個域,並且仍然能夠進行託管部署。如果任何人有一個,我都耳朵!

相關問題