Java筆記---部署 JavaWeb 項目到雲服務器

1、前言

前面咱們已經嘗過了在雲服務器上部署代碼的甜頭了,如今主菜就要上場了,那就是將咱們的 JavaWeb 項目部署到雲服務器上。興奮吧?淡定淡定~php

2、項目部署

咱們對於 Java Web 項目在本地機器(不管是 Windows 仍是 Linux)上的部署已經瞭然於心了,那麼對於在雲服務器上部署 Java Web 項目又是如何操做的呢? 其實很簡單,仍是離不開 Web 項目部署的那三點: 
① 基礎的 JDK 環境 
② 一個 Web 服務器。如 Tomcat、JBoss 
③ 一款數據庫。如:mysqljava

對於雲服務器上 Java Web 項目的部署,和平時在 Windows、Linux 下部署是同樣的。最多也就是隻能使用純命令模式來操做而已,其實過程都同樣。mysql

2.1 環境準備

既然是 Java Web 項目的部署,首先天然須要配置好相關的環境羅。也就是:先在雲主機上搭建好 Java 開發環境,如 OpenJDK 的安裝、Tomcat 的安裝、Mysql 數據庫的安裝。 
注:關於這些軟件的安裝就再也不該篇文章中敘述了,我會在另外的2篇文章中詳細闡述的。web

2.2 項目部署

咱們要部署 Java Web 項目,那就至少得將項目上傳到雲服務器。其實過程很簡單,基本上也就是下面三個步驟: 
① 打包上傳:將項目打包成 war 文件,而後利用 FileZilla 傳到遠程服務器 
② 部署:使用 cp 或 mv 命令,將 war 文件移動到 Tomcat 目錄下的 webapps 下 
③ 重啓 Tomcat,訪問咱們的項目數據庫

在這個過程當中,咱們須要注意。由於通常而已,做爲一個 Web 項目,咱們確定是有數據庫的使用的。那麼數據庫部分怎麼辦呢?其實,只須要將咱們已有的數據庫轉儲爲 sql 文件,而後將 sql 文件上傳到雲服務器上執行便可。以 mysql 爲例,以下操做:tomcat

Mysql 案例服務器

① 轉儲爲 sql 腳本,並上傳:先在本地將咱們項目使用的數據庫轉爲 sql 文件,上傳到雲服務器上 
mysql-thinkphp1 
② 執行 sql:而後進入 mysql 中執行該 sql 文件 
mysql-thinkphp2php7

發現執行的時候有錯。緣由是咱們此時的 mysql 中沒有 thinkphp 這個數據庫。咱們查看下當前的數據庫,執行命令 show databases; 
mysql-thinkphp3

發現確實沒有 thinkphp 這個數據庫,所以咱們建立一個,執行命令 create database thinkphp; 
mysql-thinkphp4 
再次執行 
mysql-thinkphp5

發現仍是報錯。緣由是咱們當前使用的是 mysql 這個數據庫,而不是 thinkphp 數據庫。所以咱們切換到 thinkphp 數據庫,執行命令 use thinkphp;,而後再一次執行 sql 文件: 
mysql-thinkphp6 
③ 查看結果 
mysql-thinkphp7 
先無論顯示的是亂碼(由於剛纔查看該 sql 文件就知道會是這個結果了),能夠看到確實已經弄好了 
④ 部署項目:將項目部署到 Tomcat 容器中,仍是使用 cp 或 mv 命令將 war 文件移到 /usr/local/tomcat8/webapps/ 下,重啓 Tomcat,再訪問 
fw-1

能夠看到成功了對吧?其實否則,由於咱們發現,須要使用數據庫獲取數據的部分卻沒有數據,這是爲啥呢?錯誤的緣由可能有如下幾個: 
① 項目中使用的是 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 帳戶的,所以咱們在本地中將項目代碼關於數據庫鏈接部分改一下,將密碼置空串,再次部署,就能夠恢復正常了,看看結果吧! 
fw-2成功顯示,連上了 mysql!

相關文章
相關標籤/搜索