这两天在阿里云上部署自己开发的springboot项目,期间遇到了很多问题,百度也没找到需要的直观答案,后来经过多方查证,终于部署成功了!
一:首先去阿里云官网申请免费试用
百度搜索阿里云服务器进去:
页面一直往下滑,找到免费试用,选择个人试用,可以免费使用三个月:
选择自己需要的配置,因为我已经成功了,所以配置图借用了一下我参考过的教程:
点击试用:
之后会进入控制台,如故没有进来就点击页面右上角的控制台进来:
点击实例后进去重置密码:
按照自己需要修改密码:
密码修改成功后配置安全组规则:
这个安全组规则主要就是开放端口用的,因为我程序默认端口是8080,MySQL数据库默认端口是3306,所以我就配置了这两个:
点击进去后,发现原本就存在三条规则,我也不确定会不会用到,所以就自己点击手动添加,分别输入以下两条规则,并保存:
进行远程连接测试:
点击连接:
出现以下页面就说明你连接成功了:
二:安装远程连接服务器的工具,你也可以选择刚才远程连接的方式,功能都一样,但是每次使用都必须先登录阿里云账户,怪麻烦,所以建议还是单独安装一个远程工具,我安装的是Xshell:
进入Xshell官网:
点击下载:
为了避免麻烦,我直接选择的是免授权:
点击下载,然后直接安装就行:
安装好之后,运行Xshell,建立连接:
输入你自己刚才建立的阿里云的公网IP,端口是默认的,点击连接:
输入用户名,好像都是root:
密码就是最开始让你重置的那个密码:
出现以下页面就说明你远程连接成功了:
三:安装jdk,因为Oracle官网产品很多,为了避免你半天找不到需要的产品,建议你直接输入途图中的网址:
屏幕一直往下拉,找到图中的版本,注意是下载的Linux对应的版本:
下载完成后,打开刚才已经安装好的Xshell,执行命令:
yum install lrzsz
出现this is ok的时候输入:y就行
然后:
cd /usr
rz -be
找到刚才下载的jdk包,选择打开,可能会出错,出错了就重新来一次:
解压压缩包,压缩包的名字根据你自己实际下载的版本名字来,不要直接复制我的命令:
tar -zxvf jdk-8u381-linux-x64.tar.gz
解压完成后,可以查看到自己的包:
配置系统变量:
cd /etc
vim profile
按i进入编辑模式,在末尾添加:
输入完成后,先按esc退出编辑模式,再按wq,回车就行;
然后立即执行profile文件,使之生效:
检验jdk是否安装成功,出现版本信息说明成功了:
java -version;
四:阿里云服务端安装MySQL:
因为我阿里云服务器上的系统是centos 7.9的,所以MySQL的版本也有讲究:
运行以下命令,更新YUM源:
sudo rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
运行以下命令,安装MySQL。
sudo yum -y install mysql-community-server --nogpgcheck
运行以下命令,查看MySQL版本号。
mysql -V
出现版本信息,说明安装成功:
启动MySQL:
sudo systemctl start mysqld
依次运行以下命令,设置开机启动MySQL。
sudo systemctl enable mysqld
sudo systemctl daemon-reload
配置MySQL:
运行以下命令,查看/var/log/mysqld.log
文件,获取并记录root用户的初始密码:
sudo grep 'temporary password' /var/log/mysqld.log
运行以下命令,配置MySQL的安全性:
sudo mysql_secure_installation
输入MySQL的初始密码(在输入密码时,系统为了最大限度的保证数据安全,命令行将不做任何回显。您只需要输入正确的密码信息,然后按Enter键即可),你也可以直接点击鼠标复制粘贴,ctrl+c没有用。
然后根据提示设置新密码:
输入Y删除匿名用户
输入Y禁止使用root用户远程登录MySQL。
输入Y删除test库以及用户对test库的访问权限。
输入Y重新加载授权表
五:远程访问MySQL
先登录root用户,密码就是你刚刚设置的那个密码:
mysql -u root -p
依次运行以下命令,创建远程登录MySQL的账号,并允许远程主机使用该账号访问MySQL,以下示例账户为admin,密码为Aadmin123/,实际用户账号根据自己情况设置
#创建数据库用户admin,并授予远程连接权限。
create user 'admin' identified by 'Admin123/';
#为admin用户授权数据库所有权限。
grant all privileges on *.* to 'admin';
#刷新权限。
flush privileges;
退出数据库:
exit
使用admin
账号远程登录MySQL,命令和刚才root登录时一样只是把用户名换成admin,然后就可以查看自己的数据库了:
也可以使用navicat连接,主机名就是那个公网IP,用户名和密码就是你刚才设置的那个:
六:IDEA端将spring boot项目打成jar包并上传:
首先在application.properties(具体看你的配置文件名,我的就是application,yml)添加:
server.servlet.encoding.charset=utf-8
然后在pom.xml添加,确保生成的是jar包而不是war包:
<packaging>jar</packaging>
点击package:
找到你的项目位置,打成的jar包在项目的target下面:
项目名字有点长,你可以在打包之前配置一下项目名,也可以选择不配置,如果是打包好了之后配置的,就双击clean,把打包好的jar包清除了,再重新打包:
在Xsheel里面上传我们的jar包:
rz
选择刚才的jar包,打开:
运行项目,也要根据你自己的jar包名称来:
java -jar versol.jar
出现以下画面,就说明你运行成功了:
浏览器输入你的公网IP和端口,就可以访问了,当然因为是免费试用的,带宽只有1M,如果你的项目比较大,可能就会比较慢,解决办法有三,一是花钱升级带宽,二是自己优化程序, 三就是忍了
访问成功:
部署过程中我遇到过问题,就是MySQL的版本下载的太高了,导致配置一直出错,后来多方研究之下,把原来的MySQL相关文件全部依次删掉之后,下载了我前面说到的版本才成功的,所以如果你要少走弯路,尽量和我下载一样的版本。