Javaweb和微信小程序項目部署阿里雲服務器總結(上)

談到微信小程序的java後臺怎麼部署在阿里雲服務器上的問題,彎彎繞繞,好多坑,網上的博客資料也特別亂,博主也是在沒有任何經驗和指導下花了幾天的工夫才完成的。這裏爲了方便大家不踩坑,總結了下整個流程和注意事項,由於篇幅原因,只講重點的地方,所以有些配置步驟會省略。

0.寫在前面

  1. 不管是單純的web項目,還是搭載了小程序的項目,如果你要發佈並長期正常使用,要在開發項目之前就購買好滿3個月的服務器,準備好已備案的域名,這個需要花時間的,不然最後來搞會耽誤你項目的進度。
  2. 對於要發佈微信小程序的,要先提前到微信公衆平臺小程序發佈部分查閱相關要求和說明文檔,注意事項之類的,避免後面踩坑!
  3. 博文篇幅可能有點長,但可以說是整個流程和可能會遇到的問題都講清楚了,不足之處肯定會有,歡迎評論區討論和指正。

對於Javaweb作爲微信小程序的後臺項目樣例可以參考我的另外一篇博客:點擊此處
方案大致流程如下:

  • 準備好項目;(java後臺+微信小程序(可以沒有這項))
  • 阿里雲購買雲服務器和域名以及綁定ssl證書(也就是網站會以https開頭)
  • 雲服務器項目環境搭建以及項目部署
  • 測試後臺是否可以使用服務器來查看
  • 微信小程序的發佈(這部分將在下一篇文章中講)

好了,廢話不多說,直接開始吧!!!

1. java後臺項目打包發佈

前言:這裏是建立在你之前已經可以在本地tomcat上正常跑通你的後臺項目的基礎之上,才進行本部分工作。
(1)打開你安裝的Tomcat目錄路徑,進入到webapps下,新建一個文件夾用來存儲生成的項目文件,如圖:我建立的文件名爲mqtsy。
在這裏插入圖片描述
(2)在IDEA上打開你之前運行過的項目,點擊file->project_structure進入如下界面進行配置:(注意是進到你的新文件裏的路徑)
在這裏插入圖片描述
點擊Apply->Ok。然後如下操作:
在這裏插入圖片描述
彈窗中選擇如下即可:
在這裏插入圖片描述
然後在你的新建文件夾下查看是否生成了相應的包文件,若你選擇的是上面描述的第一個,則是一個war文件,若是這樣你可以不用在tomcat的webapps下新建文件夾,直接生成war格式文件即可,當你運行tomcat時會自動解壓成一個文件夾形式。我這裏是採用的第二種方式,所以在新建的文件夾下你會看到以下文件:
在這裏插入圖片描述

2. 阿里雲服務器購買

這裏聲明一下:有些步驟會省略,以及你購買什麼樣的服務器都自己選擇,也有優惠的服務器,特別是新用戶和學生。已購買的可以跳過該步驟!!!

(1)進入阿里云云服務器ECS主頁並登錄鏈接,點擊立即購買,已購買的點擊管理控制檯即可。
在這裏插入圖片描述
(2)進入後選擇一鍵購買
如果你想自己配置不是新手就選第二個,我這裏選擇第一個。除了以下提到的部分根據自己需要更改,其它都默認即可
首先地區自己選擇一個自己所在的區域,這裏說明下並不是說你選擇這個區域,其它地區的人就不能訪問你的服務器,同樣可以訪問
在這裏插入圖片描述
這裏我選擇的第一個,用來做測試不需要那麼高的要求:
在這裏插入圖片描述
這裏儘量選一個高版本的:
在這裏插入圖片描述
這裏價格主要體現在帶寬和時間上,帶寬越高,系統越流暢,我選擇的是5M的,包月1個月,你可以選擇低一點的。
在這裏插入圖片描述
然後可以查看到底下的價格,點擊提交訂單即可,然後會彈出確定訂單信息,無誤後付錢就完事了。後續步驟就不給出來了。

3. 阿里雲服務器配置

(1)進入到控制檯,這裏就省略步驟點擊此處
可以看到自己購買的服務器實例。至於添加安全組啥的我也不多講,官方有教程。配置好後,你直接在自己的瀏覽器裏輸入服務器的公網ip地址可以彈出IIS官方網頁即代表你的服務器可以正常使用了。
(2)遠程連接啓動自己的服務器。
這裏有兩種方式,第一種就是如下點擊VNC來連接(一定是第二個,第一個沒用,進不去,博主在這裏搗鼓了半天),第一次會彈出一個遠程連接密碼,自己記下來,然後設置賬戶默認賬戶即可,設置登錄密碼,登入即可看到windows桌面就表示成功了。
在這裏插入圖片描述
第二種我要講一下,避免入坑。(博主在這裏就入坑了,網上說啥要安裝別的啥的,其實啥都不用,直接用window10自帶的遠程桌面連接就可以了)
直接window左下角的搜索“遠程桌面”可以找到:
在這裏插入圖片描述

打開後,輸入你服務器公網ip地址,也就是上面阿里雲控制檯裏擬購買的服務器的ip地址,一定要選擇第一個公網的。我這裏因爲配置過,所以直接就是如下界面:
在這裏插入圖片描述

後續登入就不多說了,一樣可以訪問到遠程服務器桌面。

4. 服務器項目運行環境部署

這部分就簡單講講,和你之前自己電腦上安裝項目環境是一樣的,教程網上找下即可。你可以直接把自己電腦的安裝包文件直接複製到你的服務器下面即可,這就是window10自帶遠程連接的好處啦,很方便!
你需要安裝的環境有哪些:

  • Java的jdk安裝和配置系統變量
  • Tomcat安裝和配置系統變量
  • MySQL安裝,這裏根據你自己的數據庫類型來安裝

很少對吧,那就對了,你可別傻乎乎的還安裝idea啥的,這些都不需要,因爲你的web項目已經生成war包了。下一節將繼續講。

5. Web項目部署到雲服務器的Tomcat上

(1)第4步完成後,遠程進入你的服務器下,並將自己電腦tomcat的webapps下的你新建的項目文件複製到服務器的tomcat的webapps下面。
(2)這一步十分關鍵,博主就搗鼓了半天發現,自己的網站打不開,只有首頁能夠打開,其它界面都是404,瀏覽器的控制檯報的錯誤都是靜態資源找不到,其實這是你的項目路徑問題,需要修改。

  • 首先是確保你自己的javaweb項目各jsp文件裏都使用了
 <c:set var="path" value="${pageContext.request.contextPath}" scope="page"/>

這個獲取當前路徑,不然你自己又得重新idea下改正並重新生成war包。

  • 再者進入tomcat的conf文件夾下找到server.xml文件,直接記事本打開,拉到最底下在裏面的最後加上如下一句話:然後點擊保存退出即可。
<Context path="" docBase="服務器下tomcat的webapps文件下你自己複製過來的項目文件路徑(要進到這個文件下面的路徑,比如我的是mqtsy)" debug="0" reloadable="true"/>

在這裏插入圖片描述

  • 然後進入tomcat路徑的bin文件夾下,找到startup.bat文件****以管理者身份運行即可,等待Tomcat的黑色命令窗運行完所有的文件,查看下運行的記錄有沒有報錯,最後一行提示啓動成功並顯示啓動時間即可。

在這裏插入圖片描述

  • 最後你可以直接在服務器的ie瀏覽器下直接輸入ip地址+“:8080”即可進入自己的項目網頁,沒問題的話,你就可以在自己電腦的瀏覽器下同樣輸入以上鍊接打開網頁。如下所示:(如果這裏你是直接啥都打不開,直接提示網頁不存在,那就是你的服務器的安全組裏的安全規則沒有配置8080端口的,你需要在阿里雲的控制檯下,找到自己的實例服務器配置下安全規則,具體怎麼配置在上面我也說過了直接百度下或看官方文檔)
    在這裏插入圖片描述
    以上基本就完成了整個項目的部署,接下來你會發現以下問題,也是坑最多的地方,十分的坑,無力吐槽了,或許這就是一個產業鏈吧。最致命的:查看下微信小程序發佈需要注意的事項吧,特別是服務器域名這一塊,微信小程序要求很嚴格,是爲了安全的。自己可以去微信公衆平臺小程序發佈裏查看手冊。主要的要求就是:
  • 不能使用ip地址,並且不能含有8080之類的端口號
  • 域名必須備案**(這個最麻煩),且必須加載了ssl證書**,也就是前綴是https而不是現在的http,還有就是服務器和域名支持的TLS版本必須大於等於1.2.

看完你是不很心累,好像現在除了能夠通過ip+8080打開網站外,其它要求一個都不滿足。那就看下一節吧。(當然,如果你只是做了個Web網站,沒有涉及到小程序,那沒事,要求不需要這麼嚴格,但是域名和備案肯定是要有的,不然網站不能長期安全正常的使用)

6. 域名購買和備案、配置SSL證書並解析到雲服務器上

引言:如果不想自己入後面的坑,那簡單,只要有錢不怕自己網站被黑或關閉,像愛米友之類的網站上直接自己購買一個已經備案了的域名,直接解析到自己的服務器上就完事了,哈哈哈!
還是看,正規途徑:(坑很多)
(1)域名購買和備案
同樣最好還是直接使用阿里雲吧,因爲你的服務器是阿里雲的。進入:此處,也就是阿里雲的萬網,購買域名,後續就不說了,自己輸個名字,注意一定要英文的,然後買一個沒有被註冊的,最好選擇.cn和.com之類的常見後綴,不然容易備案審覈不通過。
購買好後,你可以進入自己的阿里雲控制檯:
在這裏插入圖片描述

進入後,可以看到剛纔自己買的域名:
在這裏插入圖片描述
下一步就是你需要先實名認證下,會有相應的提示的。認證完後點擊上面的管理,看到如下即表示認證成功:
在這裏插入圖片描述

接下來就是備案了,前方高能:
備案也可以直接阿里雲操作,直接阿里雲網站的右上角導航欄有備案兩個字,點擊進入即可,後續的操作我就不多說了,說多了都是淚。企業用戶和當地用戶還好,對於個人和不是本地的那就麻煩了,注意如下:

  • 許多省份的通信管理局要求不是本地的需要提供暫住證或居住證,很無語。特別是我是選的上海的,必須要這兩個證件之一纔可以,否則白搭。
  • 個人性質的網站備案很容易駁回,駁回原因就是你填寫的網站資料信息無法通過審覈或者不規範。
  • 備案週期很長,首先你剛纔註冊並實名認證了一個域名,必須等待2-3天之後纔可以來備案,備案正式開始後,你的這個域名不要進行訪問,把綁定的一些服務器都刪除,或者不解析,暫停服務器。一般又得10天左右。
  • 備案的域名裏需要填寫你關聯的服務器ip,注意啦,你關聯的服務器必須滿3個月,必須滿3個月,必須滿3個月。我買的一個月的怎麼辦,沒轍,兩條路:你之前有備案過的服務號嗎,沒有那就續費兩個月吧。(後來發現,不要緊的,你續費後如果不用,可以退了,這點阿里雲很人性化

如果以上的工作都順利完成了那麼恭喜你,其實你的網站已經可以任何人長期安全訪問了,後續的步驟很簡單,繼續往下看。

(2)域名綁定SSL證書
首先看下這個到底是幹什麼的?直接看下區別吧:
這個是綁定了證書的,前面有個小鎖,一般是綠色的,我不知道我的爲啥不是綠色的,前綴是https://

在這裏插入圖片描述
下面這個是未綁定證書的,也就是未加密,前綴是http://,通常瀏覽器不顯示http前綴。
在這裏插入圖片描述
阿里雲提供免費一年的SSL證書,可以點此鏈接進入購買。
在這裏插入圖片描述
購買後,有個可以看到自己的SSL證書,然後可以選擇 綁定自己的某個域名就可以了。
在這裏插入圖片描述
還有一步工作就是點擊上面的下載,可以選擇你要安裝證書的服務器類型,比如我的是Tomcat,就下載Tomcat的SSL證書,保存好,後面要用到

(3)域名解析雲服務器
使用已經備案好,並且綁定了SSL證書的域名來解析自己的雲服務器。
回到自己的阿里雲域名界面列表,如下右側有個解析,點擊後綁定自己的服務器公網ip地址就可以了。
在這裏插入圖片描述

其實這樣完成後,你就可以使用自己的域名來打開自己的網站了,而不需要輸入ip地址,且你的域名前綴變爲了https://,並且有一把小鎖。但是此時你還是得在你的域名網址後加上8080,因爲你的tomcat項目並沒有去除8080端口號,且也沒有安裝SSL證書,所以請看下一個步驟。

7. Tomcat安裝SSL證書並且去除8080端口號

(1)去除8080端口號
其實只是隱藏了,改成了80端口號,在此之前請確保阿里雲服務器上的安全組規則中加入了80端口。然後再進行如下步驟:
找到雲服務器裏的tomcat安裝路徑的conf文件裏的server.xml文件,記事本打開,然後找到:
在這裏插入圖片描述

將上述的8080改爲80即可,當然,爲了安全提高優化tomcat的性能,你可以將上面的代碼替換下面的:

 <Connector port="80"
  protocol="HTTP/1.1" 
  maxHttpHeaderSize="8192" 
  maxThreads="1000" 
  minSpareThreads="100" 
  maxSpareThreads="1000" 
  minProcessors="100" 
  maxProcessors="1000" 
  enableLookups="false" 
  compression="on" 
  compressionMinSize="2048" 
  compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 
  connectionTimeout="20000" 
  URIEncoding="utf-8" 
  acceptCount="1000" 
  redirectPort="443" 
  disableUploadTimeout="true"/>

(2)安裝SSL證書
首先將前面你下載好的Tomcat版本的SSL證書在自己的電腦下解壓,並將其中的兩個文件複製到雲服務器的tomcat安裝文件下,建立一個新文件cert放入其中:
在這裏插入圖片描述
在這裏插入圖片描述
接下來同樣是打開conf文件下的server.xml,在剛纔改的80端口下面新加以下代碼,注意修改並把註釋刪除:

 <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               scheme="https"
               secure="true"
               keystoreFile="cert/改成上面SSL證書的第一個文件名.pfx" //這個是路徑,注意.pfx不能刪除
        keystoreType="PKCS12"
      keystorePass="改成上面SSL證書的第二個文件打開後複製的密碼"
      clientAuth="false"
      SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"  //這裏注意了,支持TLS1.2哈
          ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>

繼續修改最下面的Host標籤內容,改爲如下:

      <Host name="你的域名網址,如:www.jjj.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

然後保存以上文件即可。

最後一步就是修改你的Web項目文件裏的web.xml文件,可以直接在雲服務器裏你複製過來的項目war包解壓文件裏更改,更改後保存即可,添加如下代碼:
在這裏插入圖片描述

保存文件,至此重新以管理員身份點擊bin文件下的startup.bat文件啓動Tomcat服務器,就可以打開自己的網站了,輸入域名即可,不需要再輸入端口號了。這個時候你會發現自己的域名前面有個小鎖,前綴是https://的,且沒有端口號,這樣就完成了web服務器和項目的所有部署工作了,鼓掌祝賀!!!

注意:如果你在這個過程中出現tomcat啓動運行裏有報錯,網頁無法進入,提示端口號報錯之類的問題,那一定是80端口號被佔用了。
原因是因爲許多window默認的服務就是80端口,比如IIS服務,所以你可以參考以下這個博客解決問題,將被佔用的端口釋放出來。
參考博客:點擊此處
或者採用第二種方案,讓其於IIS服務共用一個80端口,具體網上自己搜索下,我覺得比較麻煩。

8. 總結

至此,web項目在雲服務器上的部署是完美完成了,有好多細節問題和坑,本文肯定會有遺漏之處,但基本講清楚了整個流程,也提供了博主在這個過程中遇到的各種問題的解決方案。總的來說,過程雖然艱辛,甚至自己有一個晚上熬夜到兩點都沒解決問題,但是人就是在不斷遇到問題解決問題的過程中成長和積累經驗,這是最大的收穫和財富。若有讀者還有不瞭解的地方,或者期間遇到一些無法解決的地方可以評論區留言,博主看到了如果會,那就會盡力解答的!

下一篇將介紹在本博文的基礎上如何發佈自己的微信小程序,敬請期待!!!

同時感謝以下博客博主提供的相關教程和方案:
參考資料:
[1]https://blog.csdn.net/X_Sirius/article/details/80284275.
[2]https://blog.csdn.net/m0_37987151/article/details/102836471
[3]https://blog.csdn.net/nmjuzi/article/details/86647395
[4]https://blog.csdn.net/qq_43084651/article/details/88869914
[5]https://blog.csdn.net/ZhenMing_Ma/article/details/71425536

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