部署非maven項目到阿里雲服務器的流程、出現的錯誤

     最近幾天一直在搗鼓阿里雲服務器,以及把本地項目部署到雲服務器。期間遇到很多大大小小的問題,也是各種百度,谷歌,有的能夠解決,有的就只好做個參考,自己再想想。還是自己太水的緣故吧,出現了很多錯誤,所以就想把大體的流程和過程中出現的錯誤都列出來,也給出我自己的解決方法,一方面,給自己做個記錄;一方面,給需要的人做一下參考。

      第一步,在阿里雲官網上購買雲服務器ECS,學生可以買雲翼計劃的,便宜也比較划算,根據自己需求買就行了。有個輕量應用服務器,這個相比正常的ECS就是功能上可能要少一點,如果只是要試試購買一週的,也可以試試這個。不過常規ECS一週也就20元不到。按照步驟來就可以了,這一步應該都沒什麼問題。

       買完後,進入雲服務器管理控制檯,點擊實例,可以看到,一臺服務器,也就是一個實例,其實就是一臺主機,顯示狀態:正在運行中。從此處可以進入遠程連接,添加安全組。

        注意事項:1、連接密碼和登陸密碼要記住,後面要用到;2、添加安全組規則,就是指配置端口信息,你要用到哪些端口,就要開放這些端口,比如,我的是這樣:

 

            我根據網上的配了好多端口,這些差不多就夠了,以後可以再加。

     第二步,選擇遠程連接工具。如果雲服務器是windows server,直接在本地遠程連接就行了,具體步驟去百度吧,(不記得了,,,),一般服務器都是linux系統,畢竟linux好啊,嘿嘿。這時,要連接服務器,就要選擇遠程連接工具,比如,putty、xshell、secureCRTPortable等,都行,界面都差不多,選一個就行。

           這裏我出現的問題是:連接不上雲服務器,“time out”,我的解決方法在前面的博客裏,我就不說了,(。。。)

           登陸成功的界面大概是這樣的:


      第三步,搭建環境,配置連接服務器。這一步主要就是安裝tomcat、java、vsftpd服務器。在安裝的時候,ubuntu和centos的指令是不太一樣的,比如在centos上用yum安裝,而ubuntu上用類似apt-get install這樣的命令。

             注意:vsftpd服務器的作用是創建遠程連接的用戶,比如uftp這個用戶,這個uftp在後面上傳和下載服務器文件的時候會使用,因爲linux服務器不能像windows那樣粘貼複製啊。

       其實到這一步,雲服務器就搭建差不多了,暫時也只用得到這些。mysql的安裝也一樣,在linux下安裝只要一條命令就行了。只是在搭建的過程中會有很多小問題,我也不太記得了,以後遇到了,我再寫出來。。。

       第四步,選擇上傳和下載工具。我這裏用的是FTPRush,其實就是ftp文件傳輸,下載工具,新建session,輸入密碼連接,大體步驟見我博客:ftprush報錯那個部分。

             linux下的文件夾和目錄都有權限,有時候不設置權限沒法改動。一般情況下,設置權限和設置文件的所有者用下面的指令:


           第五步,對項目進行war打包。其實到這一步,纔算真正進入正題,那就是打包項目,部署到雲服務器。所以,第一步就是在本地將項目打包war。

                 這一步,其實特別坑。我看了不下40篇博客,大體的步驟沒有錯,但是生成的war包部署到tomcat,無論是本地還是雲服務器端都是不成功的。開始我一直沒弄明白是怎麼回事,明明按照步驟來的,卻還是不成功。有的結果是部署到本地成功,部署到雲服務器就失敗。後來根據提示的錯誤,去檢查了一下war包的文件目錄,這才發現了問題:這些war包中沒有打包源代碼文件,就是class文件!於是,我仔細檢查了打包的步驟,終於找到了解決方法。

                 正確的打包步驟如下(idea環境):

                      1)打開file設置:


           選擇1或者2進入設置界面;

                      2)選擇正確的打包方式:


          這裏請注意:!!!一定要選圖中五角星處的打包方式,不要選Empty!!

                      3)選擇圖中的Directory Content,在打開的界面選擇Web文件夾,apply-ok。

                             

                       4) Bulid Artifact


                 如圖所示,在Bulid Artifact選項下,選擇剛纔的打包,後面是這樣的:xxx:war。這裏,我們就知道了war和war_exploded的區別之處了,是不是?之前還搞不清楚這倆是幹嘛的。

                    bulid之後,war就生成了,如下圖


                     這樣,war就打包成功!!下面就是把war包部署到雲服務器上的tomcat。


           第六步,上傳war包到雲服務器的tomcat的webapps目錄下。注意:這一步,在網上有好多博客要你去改tomcat的配置文件,有說是content.xml,也有說server.xml,說是文件映射什麼的,在這裏我可以告訴大家,!!不需要!!不要去改。

                 首先,通過上傳工具FTPRush,將xxx.war包上傳到webapps目錄下,這裏如果出錯的話,去改文件夾的權限即可,前面有說。然後,重啓tomcat,重啓命令如下:

                      tomcat安裝目錄/bin/shutdown.sh;

                      tomcat安裝目錄/bin/startup.sh;

                  依次執行即可。這裏還有一個問題可能會出現:重啓後打開雲服務器的tomcat很慢,半天都重連不上,相信很多人都會遇到,這時候怎麼辦呢?解決方法如下:

#獲取服務
apt-get install rng-tools  
#啓動服務
service rng-tools start
service rng-tools status
service rng-tools stop
    在命令行敲入如下命令即可,保證重連tomcat,速度66的。

        第七步,在網頁端訪問部署的項目。我們最終的目的還是要摒棄web項目對本地環境的依賴,實現通過特定的網址就可以訪問。訪問格式:http:你的公網地址:8080/xxx/yyy。這裏的xxx就是上面那一步的war包名稱,因爲重啓tomcat後,tomcat會自動在目錄解壓war包並生成xxx目錄,訪問的時候直接加上這個項目名稱,就不用去改tomcat的配置文件(改配置文件本來就不是一件友好的操作。)後面的yyy就是你項目的具體東西了,比如index啊、xx.jsp啊等這些。

        

           如圖,比如我的就是“我的公網地址:8080/ssm_war(項目名稱)/listCategory”,實現數據庫的查找顯示,同時實現分頁的效果。

         至此,web項目部署到雲服務器的tomcat就算結束了。

         因爲有的錯誤我也沒記得,寫的不全,以後遇到再貼出來。還有一點就是,現在web項目都是要操作數據庫的,所以,涉及到數據庫的項目時,要先檢查數據庫的配置文件,一般要將裏面的127.0.0.1改成localhost;還有密碼什麼的;配置文件最好放在配置目錄下,以防沒有打包成功;非maven和maven其實差不多,打包的時候有點區別,部署的話,差不多

          結束語:寫完這麼多,可能大家都不會看,不過我還是多這個過程有了一些理解,也算有所裨益。

                 



















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章