在雲服務器上部署你的JAVA WEB項目

第一次在阿里雲服務器上部署自己的java web項目,從一無所知的小小白到現在略微有一點項目部署經驗的小白(hahahaha),這個過程中真的是一路艱辛,各種頭疼,各種痛苦。但是,不積小流無以成江海,不積跬步無以至千里,現在每一步看似很難的操作和痛苦的學習過程,都是在爲自己通往大神之路打基礎做積累。今天就來記錄下我在項目部署以來遇到的一些問題。

一、購買域名和服務器

雲服務器提供商有很多,可以選擇的服務器類型也有很多,我這次使用的是阿里雲,之前我也在國外的服務器提供商Vultr那裏買過服務器(用來搭SSR),相比之下其實我更加喜歡Vultr的服務,阿里雲雖然也很好,但是總是讓我感覺用的有點不爽.......

因爲這次需要將域名解析在服務器上,爲了方便大家訪問,所以我買了一個配置很low的阿里雲服務器,ICP備案略過不說,阿里雲的備案教程很詳細。

如果想通過8080端口來訪問服務器上的項目,請先在阿里雲的控制檯中將服務器的安全組中加入如下設置

否則使用    IP:8080  是不可以訪問到你的tomcat頁面的,8080端口默認是不可以被外界訪問的,一定要手動添加安全組規則

二、將項目上傳至服務器

windows和Linux的傳輸工具有很多種,我使用的是WinSCP,遠程連接工具我用的是PuTTY,用什麼工具其實無所謂,這都只是一種輔助手段,購買完服務器後,第一步就是給服務器裝上項目運行的必備環境,JDK、Tomcat、Mysql。

JDK和Tomcat在windows下載完以後,使用WinSCP上傳到/usr/java這個目錄中(java文件夾是新建的),使用linux命令解壓到該目錄下,然後配置JAVA_HOME等必備環境,這個很簡單就不過多記載。

然後使用你的編譯器將項目打包,打包的格式是war,我使用的編譯工具是IDEA 2018旗艦版,各種編譯器的打包操作都不同,這裏就不多說。

項目打包完成後使用傳輸工具將項目上傳到tomcat的webapps目錄下

然後在遠程連接工具中使用命令將路徑切換到 tomcat的bin目錄下   cd  /usr/java/tomcat/bin

tomcat的關閉命令是 ./shutdown.sh                     打開命令是./startup.sh                  

如果之前你使用IP:8080測試了tomcat是否安裝成功的話,請先使用關閉命令關閉tomcat,中間可能會報錯,報拒絕連接的錯誤,

這個問題我現在也還沒真正的解決掉,我一般都是直接殺死tomcat這個進程     (命令ps -ef|grep tomcat),顯示了tomcat的進程號以後,使用命令kill -9 "進程號"

tomcat重啓後,項目會被解壓縮,webapps中會出現項目的文件夾,這個時候你就可以使用IP:8080/項目名來訪問項目了

三、直接通過域名來訪問項

ICP備案通過以後,每次都要使用域名:8080/項目名來訪問項目是不是很煩也很不方便呢,那我們是不是可以通過域名直接來訪問我們的項目呢?

先那麼切換到tomcat的conf目錄下,找到server.xml文件

網上有很多的這種教程會告訴你把端口號改成80,這樣就不再需要加上8080了,這樣也可以,但是這中間也忽略了一個問題,那就是linux的非root用戶是沒有權限監聽1024以下的端口號的,所以我當時那樣改了以後,任然是無法訪問項目,甚至tomcat都訪問不了,那麼我們應該怎麼做?

可以使用命令將80端口的訪問全部映射到8080這個端口上來

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

在這裏我有一個小的建議,先不要將後面的localhost改成你的域名,也不要在Host中加入項目路徑,咱們最好一步一步來,先映射端口,映射完以後先測試下域名/項目名是不是能訪問到你的項目,如果能,那麼就開始下一步,如果不能,就要好好檢查一下到底是哪裏出了問題。如果按照網上的教程一次性全部配好的話,中間出了問題就很難找,所以我還是建議大家一步步來更改配置

端口映射沒有問題的話,將這裏的deafulthost改成你的域名

<Engine name="Catalina" defaultHost="www.wangmenghao.top">

再將host中的hostname也改成你的域名,並且加上Context

<Host name="www.wangmenghao.top"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
	<Context path="" docBase="newproject"/>

這基本上就完成了,此時可以通過你的域名來訪問你部署的項目了

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