阿里云服务器部署SpringBoot项目(mysql安装、服务部署)
最近在阿里云購(gòu)買(mǎi)了一臺(tái)輕量級(jí)云服務(wù)器,開(kāi)始了自主服務(wù)之旅,下面記錄步驟以及采坑過(guò)程。
首先拿到服務(wù)器的第一步我進(jìn)入了控制臺(tái)-遠(yuǎn)程連接中設(shè)置了連接密碼,然后通過(guò)securt客戶(hù)端工具連接。
1.jdk1.8安裝
自行下載jdk1.8然后cd到/usr/local目錄下創(chuàng)建java目錄,將jdk解壓(解壓命令tar -xvf 文件);最后進(jìn)入/etc/profile中設(shè)置環(huán)境變量
#set java environment JAVA_HOME=/usr/local/java/jdk1.8 CLASSPATH=.:$JAVA_HOME/lib.tools.jar PATH=$JAVA_HOME/bin:$PATH export JAVA_HOME CLASSPATH PATH最后記得執(zhí)行source /ect/profile命令使其生效
2.安裝mysql
centos7默認(rèn)自帶mariadb。當(dāng)然我們不用這個(gè)玩意,所以我們?nèi)ysql官網(wǎng)下載mysql5.6.45 (選擇redhat操作系統(tǒng)版本),下載到/usr/local下新建目錄mysql,將mysql tar包解壓入其中(解壓命令tar -xvf 文件);
(1)我們首先卸載mariadb:
執(zhí)行命令(查詢(xún)已安裝的mariadb)
rpm -qa|grep mariadb?
然后執(zhí)行命令 ?(進(jìn)行卸載?)
rpm -e --nodeps 文件名?
(2)安裝mysql
解壓mysql tar包后里面有好幾個(gè)文件(server、client、devel等)
首先執(zhí)行命令安裝mysql-server:
rpm ?-ivh ?MySQL-server-5.6.45-l.el7.x86_64.rpm如果出現(xiàn)錯(cuò)誤:
error:Failed dependencies:libaio.so.l()(64bit) is need by MySQL-server-5.6.45-l.el7.x86_64.rpm
不要著急這是缺少依賴(lài)。執(zhí)行 yum?install?libaio 命令安裝依賴(lài)即可。
另外還有可能遇到的坑:
警告:Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64.rpm: 頭V4 DSA/SHA1 Signature, 密鑰 ID cd2efd2a: NOKEY錯(cuò)誤:依賴(lài)檢測(cè)失敗:perl(Data::Dumper) 被 Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64 需要咋一看又是缺少依賴(lài),執(zhí)行?yum install perl?安裝依賴(lài),繼續(xù)安裝mysql,然后依然拋出上述錯(cuò)誤,這時(shí)就一臉懵逼了,明明已經(jīng)安裝了呀;一頓搜索,發(fā)現(xiàn)需要安裝的其實(shí)是?autoconf 這個(gè)依賴(lài),然后執(zhí)行 yum -y install autoconf 即可(真是有點(diǎn)坑爹)。
然后依次執(zhí)行如下命令安裝mysql-client 和mysql-devel
rpm -ivh MySQL-client-5.6.37-1.el7.x86_64.rpmrpm -ivh MySQL-devel-5.6.37-1.el7.x86_64.rpm(3)啟動(dòng)mysql
最后如果順利的話(huà)就可以執(zhí)行命令啟動(dòng)mysql了
service mysql start(4)登陸mysql
執(zhí)行命令:mysql -uroot -p?
一般來(lái)說(shuō)首次安裝mysql是沒(méi)有密碼的,所以直接回車(chē)即可(如果登不進(jìn)去,提示一定需要 密碼也別著急看我下面的操作);
注:我在此處遇到了一個(gè)坑,怎么都登不進(jìn)去,提示要輸入密碼,回車(chē)也不行,所以我做了一個(gè)操作 跳過(guò)密碼登陸
執(zhí)行命令:
mysqld_safe?--user=root --skip-grant-tables --skip-networking & (繞過(guò)密碼登錄,mysql未啟動(dòng)前設(shè)置)然后正常執(zhí)行如下命令,修改密碼;?
?
(5)賦予任何主機(jī)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的權(quán)限(遠(yuǎn)程訪(fǎng)問(wèn))
?
grant all?privileges?on *.*?to?'root'@'%'?identified?by?'root'?with?grant?option;flush?privileges;//刷新權(quán)限quit //退出mysql service mysql restart //重啟mysql(6)設(shè)置防火墻開(kāi)放3306端口(不然無(wú)法遠(yuǎn)程訪(fǎng)問(wèn),通過(guò)工具連接)
查看firewall狀態(tài)(runing:運(yùn)行,not runing:沒(méi)有運(yùn)行),如果沒(méi)有運(yùn)行,用systemctl start firewalld啟動(dòng)firewall-cmd?--statefirewall-cmd?--permanent --zone=public --add-port=3306/tcp //添加3306端口firewall-cmd?--reload //重新加載firewall執(zhí)行完上述操作后千萬(wàn)不要以為就完了,這個(gè)時(shí)候你們通過(guò)客戶(hù)端工具navcat去連接可能會(huì)報(bào)錯(cuò)
10038錯(cuò)誤,顯示2003 can't connect to MySQL server on 'localhost'(10038).
別急一般來(lái)說(shuō)這個(gè)錯(cuò)誤一般就是如下幾個(gè)原因:
1.限制了遠(yuǎn)程登陸,即沒(méi)有授權(quán)(我們?cè)谏弦徊揭呀?jīng)操作了賦予任何主機(jī)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的權(quán)限)
2.查看3306端口是否開(kāi)放(我們也操作了設(shè)置防火墻開(kāi)放3306端口)
3.在阿里云控制臺(tái)的防火墻規(guī)則里添加端口
很明顯我們?nèi)鄙俚木褪沁@一步,沒(méi)有添加防火墻規(guī)則。
最后再用工具連接就OK了。
3.部署springboot服務(wù)
進(jìn)入/home目錄創(chuàng)建任意文件夾用來(lái)存放項(xiàng)目jar (mkdir ?project )
上傳項(xiàng)目到project文件夾中,nohup java -Xms512m -Xmx512m -jar xx-0.0.1-SNAPSHOT.jar > xx.log 2>&1 &
然后通過(guò)ip或者映射的域名訪(fǎng)問(wèn)即可:192.168.0.2:8080
是不是發(fā)現(xiàn)訪(fǎng)問(wèn)不了,哈哈哈,其實(shí)還沒(méi)完,登陸服務(wù)器控制臺(tái)繼續(xù)添加端口規(guī)則,將你設(shè)置的端口(我這里是8080端口)添加到規(guī)則中后就可以了。
?
總結(jié)
以上是生活随笔為你收集整理的阿里云服务器部署SpringBoot项目(mysql安装、服务部署)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 马斯克收费比微博狠多了:推特被曝企业“金
- 下一篇: mysql添加外键约束失败cannot