1. 程式人生 > 實用技巧 >JavaWeb專案的雲伺服器部署

JavaWeb專案的雲伺服器部署

本次是把已經在本地跑通的Javaweb專案部署到雲伺服器上,踩了很多坑,磨磨唧唧很長時間。我使用的伺服器是阿里雲的 centos7.8版本。本篇文章主要內容有:

  • 雲伺服器的控制檯配置
  • 伺服器上JDK的安裝和配置
  • 資料庫MariaDB的安裝和遠端連線
  • tomcat的安裝和啟動
  • JDBC連線
  • 本地javaweb部署到雲伺服器

都為親測可試,歡迎補充。

一、雲伺服器配置

雲伺服器啟動後並不能達到我們要的效果,首先要設定安全組,允許外網訪問的埠範圍。

開啟的埠有:

  • 8080:tomcat的應用埠
  • 80:HTTP的服務埠
  • 3306:MariaDB資料庫的訪問埠
  • 443:https的埠

之前的MySQL遠端配置一直失敗,可能是忘記打開了3306埠,下次需要注意。

二、JDK的安裝

採用的離線解壓安裝方式,提前下好安裝包,https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html。然後使用Xftp上傳到伺服器。

再解壓到自己想要的目錄內,tar -zxvf jdk-13.0.1_linux-x64_bin.tar.gz 。

解壓後,配置環境變數,使用命令 vim/etc/profile 編輯,在最後加上如下內容。

儲存退出後,使用命令 source /etc/profile 重新載入配置檔案。(該命令執行結束無內容)

使用 java -version 命令檢視是否配置完成。

三、MariaDB的安裝和遠端連線

近來MySQL被收購,有閉源的風險,所以嘗試了MariaDB資料的使用。該資料庫完全相容了MySQL,並且開源免費。

MariaDB的安裝

採用的是線上安裝。

首先輸入命令:vi /etc/yum.repos.d/MariaDB.repo 在yum下新增配置檔案MariaDB.repo,並編輯內容:

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

然後通過命令安裝即可。

yum install MariaDB-server MariaDB-client -y

MariaDB 安裝完畢後,立即啟動資料庫服務守護程序。

systemctl start mariadb

設定 MariaDB 在作業系統重啟後自動啟動服務。

systemctl enable mariadb

檢視 MariaDB 服務當前狀態。

systemctl status mariadb

對 MariaDB 進行安全配置

通過命令 mysql_secure_installation 進行安全配置,根據實際情況用Y/N回覆以下問題:

  • 設定 MariaDB 的 root 賬戶密碼
  • 刪除匿名使用者
  • 禁用 root 遠端登入
  • 刪除測試資料庫
  • 重新載入許可權表

本人全都是選擇了Y,然後按回車。

在配置完資料庫的安全配置後,可以通過以下命令檢視版本,確認 MariaDB已安裝成功。

mysql --version

可以通過 MariaDB 命令列登入,然後對資料庫進行sql查詢操作。

mysql -u root -p

遠端連線

輸入命令,開啟root使用者的遠端許可權並重新整理即可。

grant all privileges on *.* to 'root'@'%' identified by 'password' ;
flush privileges; 

四、Tomcat的安裝和開啟

採用的離線安裝:

下載後上傳到伺服器,並解壓到自己的目錄下,即安裝完成。

開啟服務,進入解壓好的tomcat的bin目錄下。輸入命令:./startup.sh開啟tomcat服務。

即可在瀏覽器輸入雲伺服器的IP地址加8080埠號訪問。

五、JDBC連線

雖說MariaDB 和 MySQL 相容,但也難免存在問題。

首先是MariaDB的JDBC連線,需要jar包支援,下載地址https://mariadb.com/downloads/#connectors,在右邊選擇Java的版本下載即可。

下載得到的jar放入javaweb專案 Add as a Library即可。

程式碼也有需要修改的地方。

  driverClassName=org.mariadb.jdbc.Driver

  url=jdbc:mariadb://1.1.1.1:3306/dbname 填上雲伺服器的IP地址

import java.sql.*;

public class DBTest {

    public static void main(String[] args) {
        try {
            String driver ="org.mariadb.jdbc.Driver";
            //從配置引數中獲取資料庫url
            String url = "jdbc:mariadb://(1.11.1.1):3306/test";
            //從配置引數中獲取使用者名稱
            String user = "root";
            //從配置引數中獲取密碼
            String pass = "";

            //註冊驅動
            Class.forName(driver);
            //獲取資料庫連線
            Connection conn = DriverManager.getConnection(url,user,pass);
            //建立Statement物件
            Statement stmt = conn.createStatement();


            System.out.println("Success!");

        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

}

並且注意,MariaDB對sql語句的大小寫敏感,資料庫名,表明或欄位名必須都為小寫,才可以,否則報錯查詢不到。

六、本地javaweb部署到雲伺服器

將專案打包成war包,然後複製進tomcat/webapps/目錄下即可。

IDEA下的war包方法:

然後在專案的 out 目錄下即可檢視到打包好的war包。

然後在瀏覽器地址,上面步驟的8080後面加上專案名字,即可在外網輸入IP地址訪問到我們的專案啦。