要找到免費的 Java 空間真的不容易,
本篇會一步一步教你如何在 Heroku 上免費架設 Java 空間,
廢話不多說就直接開始囉!
在開始之前請自行準備好下列項目:
1. 安裝 Git
2. Java 8 環境 (JDK, Tomcat)
3. 申請 Heroku 帳號
申請完登入後應該會看到下面的頁面
點選 Create new app 後輸入專案名稱,如 gss-test-proj
並按下 Create app
建立完之後選擇 Settings 頁籤,並點選 Add buildpack
本篇主要是介紹 Java ,所以選擇 java 後按下 Save changes
然後點選 Deploy 的頁籤,點選 Heroku CLI,找到適合自己環境的檔案下載後安裝。
安裝完之後應該可以在 cmd 下輸入 heroku -v 看到下面的畫面。
接下來請自行建立一個 Maven Web Project,並建立好 index.jsp,在內容輸入 hello world,
建立好後請在專案跟目錄新增一個檔案名稱叫做 Procfile
內容如下:
web: java $JAVA_OPTS -jar target/dependency/webapp-runner.jar --port $PORT target/*.war
建立後的目錄應該會長相這樣
接下來修改 pom.xml 的 build 區塊,將其設定如下方
<build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <executions> <execution> <phase>package</phase> <goals><goal>copy</goal></goals> <configuration> <artifactItems> <artifactItem> <groupId>com.heroku</groupId> <artifactId>webapp-runner</artifactId> <version>9.0.41.0</version> <destFileName>webapp-runner.jar</destFileName> </artifactItem> </artifactItems> </configuration> </execution> </executions> </plugin> </plugins> </build>
以上都完成後將專案打包 mvn package
目錄結構應該會像下方這樣
接下來到 cmd 下執行下列步驟
1. 移動到專案目錄
2. 輸入 heroku login
接下來只需按下 Enter,瀏覽器會自動導向 heroku 登入畫面,按下 Log in 即可。
接著在 cmd 下繼續輸入以下指令:
git init git remote add origin https://git.heroku.com/gss-test-proj.git git add . git commit -m "first commit" git push origin master
最後看到下面的畫面就是完成囉!
接著回到 heroku 頁面點選 Open App,就可以看到我們的首頁囉!
雖然說這個空間是免費,但免費總是有些限制,
例如每隔 30 分鐘如果網站沒有任何 request,系統就會自動進入休眠,
直到下一個 request 進來,網站才會再度被喚起,
但這可以用排程定期自己呼叫自己的頁面來達到不休眠的狀態,
而免費的額度是一開始給你固定的免費時數,印象中大約是一個月 500 個小時左右,
如果你在上面跑不只一個專案,消耗的速度就會是兩倍,
也就是說這樣大概每個月會有一週多的空窗期網站是沒有服務的,
在這邊有兩個方式:
1. 申請兩個帳號每個月移機
2. 綁定信用卡獲得額外的時數
第一個方式是比較累人的方式,我支撐了兩年之後就乖乖把信用卡綁上去了 XD
再來是整個網站他有記憶體上的限制,不能無止盡把東西往記憶體塞,可以將此限制當作一種磨練,
讓你控制好記憶體的使用。