2013-04-14 101 views
12

我正在嘗試創建一個能夠與Amazon RDS進行通信的Web項目。我知道如何使本地主機項目通過JDBC連接到RDS。如何在Amazon EC2上部署Eclipse Java Web動態項目?

但是,問題是我從來沒有試圖部署我的項目(所以,例如有人可以輸入somePage.com,並轉到我的網頁)。

我有一個亞馬遜EC2實例,我已經寫了一個簡單的hello world jsp頁面。我可以編譯它並運行Eclipse Web動態項目使用已安裝的Apache Tomcat服務器,然後鍵入localhost:8080/somePage然後我可以看到我的hello世界彈出。

但是,如何在此EC2實例上部署項目?我正在使用Windows Server 2012版本。

我的整個想法是,一旦我有一個AMI圖像的所有設置,然後我可以使用自動縮放比例來縮放我的網頁與AMI圖像。

任何人都可以指向正確的方向嗎?

+0

這個簡單的Hello World你說說,你跑了嗎?在你的日食?另外,您是否在Amazon EC2實例中安裝了Apache Tomcat? – acdcjunior

+0

是的,我在Eclipse中運行了它。我還沒有在Amazon EC2實例中安裝Apache Tomcat,我認爲這是第一步?其實我去過那個網站,但是zip文件裏沒有EXE文件。編輯:我剛剛發現它 – user1157751

回答

18

按照下面的步驟:在您的Amazon EC2實例

  1. 安裝的Apache Tomcat。
    • 通常你只需要做的就是download the current version,解壓縮並通過運行apache-tomcat-folder\bin\startup.bat啓動它。 (您也可以下載安裝程序並將其設置爲Windows服務。有關更多詳細信息,請參閱this link)。
    • 請確保在繼續之前對其進行測試(在瀏覽器上打開其地址,如http://yourinstaceaddress.com:8080/)。
  2. 導出你的web應用.war文件
    • 在Eclipse中,右鍵單擊Web項目並選擇導出。然後在導出窗口中選擇WAR文件,然後選擇下一步。選擇項目,.war文件名和文件夾導出。更詳細的解釋可以參見herehere (with pictures)
  3. .war文件部署到Tomcat服務器
    • 的,到目前爲止,要做到這一點最簡單的方法是把你的.war(比如myapp.war)文件在您的apache-tomcat-folder\webapps\文件夾中。
    • 還有其他的方法,比如通過Tomcat Manager。但他們可能會很棘手,作爲一個新用戶,你應該避免它們。 (別擔心:生產部署的簡單方法是可以的)。
  4. 測試您的Web應用程序
    • 請訪問網址:說你.war的名字是myapp.war。您應該訪問http://yourinstaceaddress.com:8080/myapp

就是這樣。如果您曾編輯該應用程序,請重複步驟2-4(但刪除在執行步驟3之前創建的webapps\myapp\文件夾)。

+0

感謝您的幫助,它的工作原理,嗚呼!是否有可能將myapp更改爲索引以便wwww.yourinstanceaddrss.com可以工作? – user1157751

+0

其實我試圖連接到本地主機/ myapp,它的工作原理,但是當我試圖將它連接到instance-public-dns.com/mypass它不。它可能是防火牆問題嗎?編輯:修復,我去了防火牆,並設置所有端口的所有允許入站策略。 – user1157751

+0

是的,將'myapp.war'重命名爲'ROOT.war'並像往常一樣部署(不要忘記先刪除'ROOT.war'和'webapps \ ROOT'文件夾)。 – acdcjunior

1

Boxfuse確實如你所願。

爲您的Java Web應用程序,你從字面上只需要執行:

boxfuse create my-tomcat-app -apptype=load-balanced 
boxfuse scale my-tomcat-app -capacity=1-16:t2-micro:cpu25-75 
boxfuse run my-tomcat-app-1.0.war -env=prod 

這將

  1. 配置應用程序以使用ELB
  2. 將其設置爲1和16 T2之間自動縮放.micro實例基於CPU使用率(規模在25%及以下,擴展至75%及以上)
  3. 創建包含Tomcat的AMI並準備啓動應用程序
  4. 創建ELB
  5. 創建正確的端口安全組
  6. 創建一個自動伸縮羣
  7. 啓動實例(S)

任何後續的更新工作將作爲一個零停機藍/綠部署。

對於您的域名,您可以簡單地將您的samepage.com DNS記錄映射到ELB的CNAME。

更多信息:https://boxfuse.com/blog/auto-scaling