前段時間剛完成一個JavaWeb項目,想着怎麼部署到服務器上,邊學邊作,花了點時間終於成功部署了,這裏總結記錄一下過程當中所遇到的問題及解決方法。之因此選擇阿里雲,考慮到它是使用用戶最多也是最普遍的雲服務器。學生能夠選擇學生機,價格很是優惠。本人選擇的是系統鏡像:CentOS 7.3 64位。html
根據須要部署瞭如下環境:java
一、配置Java環境mysql
二、安裝Tomcat及配置、war包部署linux
三、安裝MySql及配置、運行sql文件web
準備工做:sql
一、首先須要開通項目用到的端口,例如8080端口,下圖爲本人開通的端口(受權對象ip就是被容許訪問端口的主機ip,也就是阿里雲公網ip,能夠是其它雲服務ip),僅供參考。詳情點擊打開鏈接shell
二、網上不少教程是經過Xshell終端模擬器訪問遠端不一樣系統下的服務器,以及配合Xftp文件傳輸客戶端來上傳文件(如Java、Tomcat安裝包)。這裏推薦使用MobaXterm,有SSH連接功能,也有FTP功能,還能夠包括VNC遠程桌面鏈接功能。MobaXterm官網。數據庫
三、下載Linux版本的jdk,選擇後綴是.tar.gz的,以下圖所示。點擊打開連接。apache
四、下載Tomcat安裝包,本人下載的是Tomcat 8.5.33版本。點擊打開連接。瀏覽器
五、打開MobaXterm,鏈接系統。將上述兩個安裝包上傳至指定目錄下。操做步驟以下。
a.點擊Session,選中SSH協議,輸入阿里雲公網IP地址,點擊OK。
b.打開以後初始目錄是root,返回上一級再打開home目錄,將安裝包均上傳至該目錄。
c.在usr目錄下建立java,再在java下建立如下兩個目錄。
一、配置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.驗證安裝,以下所示表示成功:
二、安裝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端口後加上項目名稱,便可運行此項目,以下圖所示(若是有對應數據庫的話,下一條繼續介紹如何配置數據庫):
三、安裝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項目部署部分功能的一個簡單介紹,後續會繼續說明其它部分功能所遇到的問題以及解決方法。
若有疏漏錯誤之處,還請不吝賜教!