前段時間剛完成一個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