前段時間剛完成一個JavaWeb項目,想着怎么部署到服務器上,邊學邊做,花了點時間終於成功部署了,這里總結記錄一下過程中所遇到的問題及解決方法。之所以選擇阿里雲,考慮到它是使用用戶最多也是最廣泛的雲服務器。學生可以選擇學生機,價格非常優惠。本人選擇的是系統鏡像:CentOS 7.3 64位。
根據需要部署了以下環境:
1、配置Java環境
2、安裝Tomcat及配置、war包部署
3、安裝MySql及配置、運行sql文件
准備工作:
1、首先需要開通項目用到的端口,例如8080端口,下圖為本人開通的端口(授權對象ip就是被允許訪問端口的主機ip,也就是阿里雲公網ip,可以是其它雲服務ip),僅供參考。詳情點擊打開連接

2、網上很多教程是通過Xshell終端模擬器訪問遠端不同系統下的服務器,以及配合Xftp文件傳輸客戶端來上傳文件(如Java、Tomcat安裝包)。這里推薦使用MobaXterm,有SSH鏈接功能,也有FTP功能,還可以包括VNC遠程桌面連接功能。MobaXterm官網。
3、下載Linux版本的jdk,選擇后綴是.tar.gz的,如下圖所示。點擊打開鏈接。

4、下載Tomcat安裝包,本人下載的是Tomcat 8.5.33版本。點擊打開鏈接。
5、打開MobaXterm,連接系統。將上述兩個安裝包上傳至指定目錄下。操作步驟如下。
a.點擊Session,選中SSH協議,輸入阿里雲公網IP地址,點擊OK。

b.打開之后初始目錄是root,返回上一級再打開home目錄,將安裝包均上傳至該目錄。

c.在usr目錄下創建java,再在java下創建以下兩個目錄。

1、配置Java環境
a.運行解壓命令:tar -xzf /home/jdk-8u181-linux-x64.tar.gz -C /usr/java/jdk
b.配置環境變量(或者直接打開etc目錄下的profile文件):vi /etc/profile
在文件末尾處添加以下內容並保存:
1 #set java environment 2 export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181 3 export JRE_HOME=/usr/java/jdk/jdk1.8.0_181/jre 4 export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 5 export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH
保存命令:source /etc/profile
c.驗證安裝,如下所示表示成功:

2、安裝Tomcat及配置、war包部署
a.運行解壓命令:tar -xzf /home/apache-tomcat-8.5.33.tar.gz -C /usr/java/tomcat
b.配置環境,如下圖所示,執行命令或者點擊文件均可:

在文件末尾處添加以下內容並保存:
1 export JAVA_HOME=/usr/java/jdk/jdk1.8.0_181 2 export JRE_HOME=/usr/java/jdk/jdk1.8.0_181/jre
c.在bin目錄執行如圖所示命令./startup.sh,驗證安裝:

或者瀏覽器輸入阿里雲公網IP地址加上8080端口,頁面如下圖所示表示成功:

d.將JavaWeb項目的war包,上傳至Tomcat的webapps目錄下即可,如下圖所示:

這時在8080端口后加上項目名稱,即可運行此項目,如下圖所示(如果有對應數據庫的話,下一條繼續介紹如何配置數據庫):

3、安裝MySql及配置、運行sql文件
a.安裝MySQL官方的yum repository:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
b.下載rpm包:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
c.安裝MySQL服務,最后會出現個complete!:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# yum -y install mysql-community-server
d.修改MySQL配置文件(或者修改etc目錄下的my.cnf文件並保存),跳過密碼登錄:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf
末尾處添加如下內容:
1 skip-grant-tables
e.啟動MySQL服務:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl start mysqld.service
f.登錄MySQL:
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# mysql -u root
g.修改密碼:
1 mysql> use mysql; 2 Database changed 3 mysql> update mysql.user set authentication_string=password('1234') where user='root' ;
h.退出mysql,重新在剛剛那個配置文件中去掉skip-grant-tables,然后重啟MySQL:
1 mysql> exit
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# vi /etc/my.cnf
1 [root@iZwz9eu3mkqq1njlkrfhc8Z ~]# systemctl restart mysqld.service
i.使用新密碼登錄MySql,如下圖所示:

j.必須重設密碼,並設置密碼等級與最小長度:
1 SET PASSWORD = PASSWORD('1234');
1 mysql> set global validate_password_policy=0; //改變密碼等級
1 mysql> set global validate_password_length=4; //改變密碼最小長度
k.再次修改密碼:
1 SET PASSWORD = PASSWORD('1234');
l.配置遠程登錄(root為用戶名,1234為密碼),以及刷新系統權限:
1 mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
1 mysql> flush privileges;
m.創建數據庫並運行sql文件:
1 mysql> create database corporate_genealogy;
1 mysql> use corporate_genealogy;
1 mysql> source /home/corporate_genealogy.sql;
n.使用Navicat數據庫管理工具連接阿里雲數據庫,如下圖所示:

最后附上Linux系統下MySql數據庫的常用操作(數據庫操作必須以 ';' 號結尾): 點擊打開鏈接
本文部分參考學習了:https://www.cnblogs.com/shanheyongmu/p/6070618.html
http://www.cnblogs.com/wangshen31/p/9556804.html
至此是對JavaWeb項目部署部分功能的一個簡單介紹,后續會繼續說明其它部分功能所遇到的問題以及解決方法。
如有疏漏錯誤之處,還請不吝賜教!
