SpringBoot項目部署到阿里雲服務器(傻瓜攻略)2021最新版


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
![](https://img2020.cnblogs.com/blog/2029699/202104/2029699-20210422145058266-964344770.png) 之后按esc再輸入wq,使改變成功並退出 ![](https://img2020.cnblogs.com/blog/2029699/202104/2029699-20210422145148310-1423874752.png) 執行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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM