SpringBoot項目部署到阿里雲linux服務器全流程
一、申請阿里雲服務器
1.1 前往阿里雲官網:https://www.aliyun.com/
1.2 注冊一個賬號,登陸賬號
1.3 申請一個雲服務器。
我是申請的學生價服務器,輕量級應用服務器,附帶CenbOS;
1.4 購買完成后,進入控制台,如圖點擊:
1.5 添加規則
購買后,自動附帶前三個規則,因為我們還需要部署數據庫,所以要添加一個端口3306的數據庫,如下圖:
1.6 回到服務器列表,點擊遠程連接
然后會有手機驗證等,設置密碼之類的
到這,服務器申請就結束了
XSEHLL連接
每次遠程連接都用網頁鏈接肯定是不夠方便的,所以我們需要一個工具能夠直接在本地就能鏈接到我們的服務器,也就是xshell。
shell下載安裝略過
Xshell下載官網:https://xshell.en.softonic.com/
shell使用
打開shell后,按照如下圖所示,開始填寫
第三步寫你的服務器的公網ip。
之后輸入賬號密碼,如果服務器你的賬號密碼沒改的話,賬號一般是root,密碼就是你之前修改的密碼,記得點下記住賬號和密碼。
登錄成功
登錄成功后會顯示下面這個界面
服務器安裝jdk
先用shell鏈接你的服務器
安裝jkd
在你的本地Windows系統中下載 Linux系統下的jdk,jdk下載官網:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。
下載你需要的jdk版本,我用的是 jdk-8u291-linux-x64.tar.gz 。
下好后放在桌面都可以。
安裝rz命令
yum install lrzsz
這個可以讓允許我們直接拖拽,將文件傳進服務器,當然xshell自帶的xftp也是可以的。
創建java目錄
執行下面命令
cd /usr
mkdir java
cd java/
好了,這樣我們就到了目標目錄,我們的jdk文件需要放在這
直接將本地下好的jdk文件拖拽進去。
安裝jdk
輸入ls命令,查看當前目錄,可以看到jdk已經在了
執行解壓
tar -zxvf jdk-8u221-linux-x64.tar.gz
設置環境變量
vim /etc/profile
在這個里面添加以下代碼,記得按i進入編輯環境
`
java
export JAVA_HOME=/usr/java/jdk1.8.0_291
export CLASSPATH=\(JAVA_HOME/lib/ export PATH=\)PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
 之后按esc再輸入wq,使改變成功並退出  執行source命令,使環境變量生效
source /etc/profile`
好了,到這jdk就安裝ok了
現在看看稱沒成功
輸入命令,如果展示以下的,就說明ok了
安裝mysql
下載mysql
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
安裝sql服務器
yum -y install mysql-community-server
到這就裝完了
mysql數據庫設置
啟動mysql
systemctl start mysqld.service
查看狀態
systemctl status mysqld.service
說明已經在運行了
此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日志文件中找出密碼:
grep "password" /var/log/mysqld.log
mysql -uroot -p
輸入初始密碼(是上面圖片最后面的 no;e!5>>alfg),此時不能做任何事情,因為MySQL默認必須修改密碼之后才能操作數據庫:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
其中‘new password’替換成你要設置的密碼,注意:密碼設置必須要大小寫字母數字和特殊符號(,/';:等),不然不能配置成功
開啟mysql遠程訪問權限
執行以下命令開啟遠程訪問限制(注意:下面命令開啟的IP是 192.168.0.1,如要開啟所有的,用%代替IP):
grant all privileges on *.* to 'root'@'192.168.0.1' identified by 'password' with grant option;
當然我是直接選擇%
之后執行下面命令
mysql> flush privileges; mysql> exit
為firewalld添加開放端口
添加mysql端口3306和Tomcat端口8080
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@localhost ~]# firewall-cmd --zone=public --add-port=8080/tcp --permanent
然后再重新載入
[root@localhost ~]# firewall-cmd --reload
更改mysql的語言
首先重新登錄mysql,然后輸入status:
可以看到,綠色箭頭處不是utf-8
因此我們先退出mysql,然后再到、etc目錄下的my.cnf文件下修改一下文件內容
進入后新增四行代碼
保存更改后的my.cnf文件后,重啟下mysql,然后輸入status再次查看,你就會發現變化啦
最后,到Windows下用cmd命令啟動mysql啦!!
部署springboot項目
jar包設置
linux雲服務器上的環境我們都已經配置好了,但好像差了一個tomcat?因為springboot內置了tomcat,所以后面我們把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那還是要配置tomcat的)。
回到我們本地windows Springboot項目,下面我們對我們的項目做一些設置
打開pom.xml,添加如下語句,將項目的打包形式設置好
<!-- 打包成jar包 --> <packaging>jar</packaging>
打開application.properties,設置項目運行端口(默認是8080,如果你用的是別的端口,要在這篇文章前面中把你的端口加入到安全組中去)
打開application.yml,設置端口,連接數據庫
idea(打包)
按步驟執行
jar包上傳
直接拖拽即可
耐心等待上傳成功,使用ls指令可以看到我們上傳成功的jar包
我們要想在linux系統上運行這個項目,就要保證他運行所用的端口沒有被占用,不然運行就會報錯
查看端口使用情況
netstat -anp | grep 8800 //netstat -anp | grep <端口號>
我的是沒有被占用的,如果被占用了,如下圖(PS:這個命令是模糊查詢,所以看清楚點)
可以看到這個端口被占用了(沒被占用的時候不顯示任何東西),查看占用端口的PID
sudo lsof -i:8800 //sudo lsof -i:<端口號>
我們要把它kill掉,留出空位來運行我們的項目。kill后再次查看端口,可以看到這個端口已經騰出來了(查詢為空)
sudo kill -9 26191 //sudo kill -9 <PID>
使用java指令運行項目jar包,這樣我們的項目就算部署成功了
java -jar ***.jar //***為你的jar包名
至此結束!
瀏覽器查看
隨便找個瀏覽器,搜索欄輸入http://公網ip:端口號 就可以搜索到你的網站了(如果你跟我一樣,買的是學生優惠版的,它的帶寬速度只有1M,第一次載入會非常慢,耐心等等,等有了錢,升級個好一點的吧)
啟動設置
還沒完呢,這種啟動方式是一次啟動,當我們關掉Xshell的時候,我們的網站又訪問不上了,又得重新打開Xshell,執行 java -jar ***.jar。所以我們要使用下面的方法讓這個項目在服務器上自動不間斷地跑.
我問執行這句代碼讓程序一直在后端運行
nohup java -jar ***.jar & //***為你的jar包名
在后端查看日志
tail -f nohup.out
把Xshell關掉,在瀏覽器上輸入http://公網IP:8800 發現項目還是可以進入,說明我們已經設置成功了。至此springboot項目部署到阿里雲服務器上完結。
域名設置
略過,看參考鏈接
參考鏈接
https://blog.csdn.net/qq_36582604/article/details/80526287
https://blog.csdn.net/allen_csdns/article/details/104554928