前面咱們已經嘗過了在雲服務器上部署代碼的甜頭了,如今主菜就要上場了,那就是將咱們的 JavaWeb 項目部署到雲服務器上。興奮吧?淡定淡定~php
咱們對於 Java Web 項目在本地機器(不管是 Windows 仍是 Linux)上的部署已經瞭然於心了,那麼對於在雲服務器上部署 Java Web 項目又是如何操做的呢? 其實很簡單,仍是離不開 Web 項目部署的那三點:
① 基礎的 JDK 環境
② 一個 Web 服務器。如 Tomcat、JBoss
③ 一款數據庫。如:mysqljava
對於雲服務器上 Java Web 項目的部署,和平時在 Windows、Linux 下部署是同樣的。最多也就是隻能使用純命令模式來操做而已,其實過程都同樣。mysql
既然是 Java Web 項目的部署,首先天然須要配置好相關的環境羅。也就是:先在雲主機上搭建好 Java 開發環境,如 OpenJDK 的安裝、Tomcat 的安裝、Mysql 數據庫的安裝。
注:關於這些軟件的安裝就再也不該篇文章中敘述了,我會在另外的2篇文章中詳細闡述的。web
OpenJDK 和 Tomcat 的安裝,請閱讀:Java筆記—CenOS下配置Java開發環境(OpenJDK + Tomcat8)sql
Mysql 的安裝,請閱讀:Java筆記—CenOS下配置Mysqlthinkphp
咱們要部署 Java Web 項目,那就至少得將項目上傳到雲服務器。其實過程很簡單,基本上也就是下面三個步驟:
① 打包上傳:將項目打包成 war 文件,而後利用 FileZilla 傳到遠程服務器
② 部署:使用 cp 或 mv 命令,將 war 文件移動到 Tomcat 目錄下的 webapps 下
③ 重啓 Tomcat,訪問咱們的項目數據庫
在這個過程當中,咱們須要注意。由於通常而已,做爲一個 Web 項目,咱們確定是有數據庫的使用的。那麼數據庫部分怎麼辦呢?其實,只須要將咱們已有的數據庫轉儲爲 sql 文件,而後將 sql 文件上傳到雲服務器上執行便可。以 mysql 爲例,以下操做:tomcat
Mysql 案例服務器
① 轉儲爲 sql 腳本,並上傳:先在本地將咱們項目使用的數據庫轉爲 sql 文件,上傳到雲服務器上
② 執行 sql:而後進入 mysql 中執行該 sql 文件 php7
發現執行的時候有錯。緣由是咱們此時的 mysql 中沒有 thinkphp 這個數據庫。咱們查看下當前的數據庫,執行命令 show databases;
發現確實沒有 thinkphp 這個數據庫,所以咱們建立一個,執行命令 create database thinkphp;
再次執行
發現仍是報錯。緣由是咱們當前使用的是 mysql 這個數據庫,而不是 thinkphp 數據庫。所以咱們切換到 thinkphp 數據庫,執行命令 use thinkphp;,而後再一次執行 sql 文件:
③ 查看結果
先無論顯示的是亂碼(由於剛纔查看該 sql 文件就知道會是這個結果了),能夠看到確實已經弄好了
④ 部署項目:將項目部署到 Tomcat 容器中,仍是使用 cp 或 mv 命令將 war 文件移到 /usr/local/tomcat8/webapps/ 下,重啓 Tomcat,再訪問
能夠看到成功了對吧?其實否則,由於咱們發現,須要使用數據庫獲取數據的部分卻沒有數據,這是爲啥呢?錯誤的緣由可能有如下幾個:
① 項目中使用的是 mysql5.1.10 的驅動 jar,而云服務器默認的是使用 mysql5.1.73 所以,要麼重裝一個 mysql,要麼將項目中的驅動改成 mysql5.1.73。
② 未將 mysql 驅動jar 放入 jvm/java-1.8.0xxx/jre/lib/ext/ 下
③ 密碼不正確
④ 使用的是 root 帳戶,而 root 帳戶在 Linux 下訪問 mysql 是不須要使用密碼的
經過排查,發現是由於項目中是使用 root 帳戶的,所以咱們在本地中將項目代碼關於數據庫鏈接部分改一下,將密碼置空串,再次部署,就能夠恢復正常了,看看結果吧! 成功顯示,連上了 mysql!