SpringBoot部署到阿里云ECS服务器,阿里云ECS服务器安装JDKMysqlnginx详细步骤
Posted 九尘001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot部署到阿里云ECS服务器,阿里云ECS服务器安装JDKMysqlnginx详细步骤相关的知识,希望对你有一定的参考价值。
1.购买阿里云ECS服务器
官网:阿里云-上云就上阿里云
根据自己的需要选择相应的配置:
目前有一个月的服务器免费体验时间,我选择了免费体验,点击后,可以看到你刚才购买的服务器:
也可以通过这里查看你的服务器:
到这里服务器已经购买成功,接下来是通过工具(xshell、Termius等)去连接你自己的服务器,方便安装JDK,mysql,nginx等。
接下来是如何通过工具连接服务器:
远程登录你需要先设置密码:
设置成功后记住你输入的密码,在你服务器实例中点击远程连接:
点击后出现以下页面:
点击后出现下面页面,输入你的6位密码:
输入正确密码后,输入你的实例账号和密码显示如下代表成功:
要是不确定你的实例账号和密码可在这个地方查看:
点击重置密码后出现如下页面,可查看账号和密码:
至此整个阿里云服务器的申请就算完成了。
2.Xshell 的安装使用
简单测试一下,你会发现网页登陆云服务器的方式有一个弊端,那就是只要一小段时间不操作,服务器就会进入休眠,又得输入连接密码才能激活,很烦。所以我们采用别的方式登录这个云服务器。
2.2 Xshell是一个终端模拟软件,换言之,我们只要在本地Windows系统下安装这个软件,打开输入账号密码,就能登录远程的云服务器
2.3 Xshell下载官网:https://xshell.en.softonic.com/(如果官网下载太慢,可以百度一下Xshell,很多资源,下载最新版的就行,我用的是Xshell 7 )
2.4 下载完了选择安装路径开始安装,这个软件很小,安装也简单,安装过程中不会出现问题(新手的我也一路畅通)
2.5 打开Xshell们可以看到如下界面:
2.6 新建一个会话,拿出之前的笔记,将公网IP输入到主机栏,端口号设置为22(服务器的监听端口,ftp默认为21,sftp为22,如果你设置22连不进去,那就换21试一下)
2.7 点击 ”确定”>>“连接”,继续拿出笔记,把服务器账号填进“登录的用户名”,把服务器密码填进“密码”,如下图。
2.8 登录成功,进入服务器。以后我们就可以通过这个界面对云服务器进行远程操控,在上面进行jdk,mysql安装,springboot部署等操作了。
3、ECS服务器安装JDK步骤:
SpringBoot项目里自带了Tomacat,所以我们不需要再去服务器安装。所需要安装的是JDK(你想要部署项目的JDK版本)。
3.1 先用Xshell 连接到你的云服务器(或者直接在阿里云官网中远程连接也行)
3.2 在你的本地Windows系统中下载 Linux系统下的jdk,jdk下载官网:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html。下载你需要的jdk版本,我用的是 jdk-8u261-linux-x64.tar.gz
在官网上需要Oracle的账号,因为我没有Oracle账号,我在CSDN上找了一个jdk-8u261-linux-x64.tar.gz包。
得到tar包后,你需要在服务器上创建一个存放包的文件夹:
切换到对应目录:
我在对应的包下创建了java包,用来保存jdk:
现在我们需要把tar传到这个目录如图:
然后我们要把这个文件传到云服务器上去。听起来很高端,其实很简单的。在Xshell上执行rz命令就可以实现。首先我们要在云服务器上安装这个命令。在Xshell中执行
yum install lrzsz
我们要把上传的文件放到哪个目录,就要先cd进入那个目录。我们申请的服务器的初始目录结构如下:(cd命令:进入目录)
例如:我现在我想把jdk保存到,/root/user/java这个目录下,这个目录也是刚才我们自己创建的,用cd命令切换到对应目录:
cd /root/user/java/
然后 rz 把安装包上传上去(rz命令:上传文件)
rz
执行rz命令会弹出一个文件选择框,选择安装包上传:
上传中,等待上传完毕:
传输完毕,点击“关闭”
使用ls命令查看目录。可以看到,我们刚才上传的安装包已经存在于目录中了(ls命令:查看当前目录下的文件)
ls
因为我的之前解压过一次,所有会有一个蓝色的包,不必在意:
接下来解压安装包就算安装成功了!使用tar命令解压压缩包,如果你下载的版本跟我不一样,记得把包名改成你自己的版本 。(tar命令:解压)
tar -zxvf jdk-8u261-linux-x64.tar.gz
解压完成后就会有如下蓝色的包:
跟你在windows系统下安装完jdk一样,你还要设置系统环境变量。linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:
先cd进目录 /etc ,再使用 vim命令编辑文件profile(vim命令:编写修改文件内容),该文件类似于windows系统下设置系统环境变量。
cd /etc
vim profile
export JAVA_HOME=/root/user/java/jdk1.8.0_261
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
进来以后是下面这个界面,按i 键入编辑,在文件最后添加如上内容。其中export JAVA_HOME=/root/user/java/jdk1.8.0_261为你解压得到蓝色包名的路径。
在文件的最后把上面的代码打进去,如果你的jdk版本跟我不一样,记得把 export JAVA_HOME=/root/user/java/jdk1.8.0_261 这一行改成你自己的版本。然后按ESC键退出编辑,输入 :wq + 回车键保存退出文件。
查看文件是否保存成功。
cat profile
立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句)
source /etc/profile
到这一步,jdk的安装就全部完成了。最后,我们再使用java命令验证一下,如果可以看到我们的版本信息就可以了。
java -version
输入命令后,得到一下结果,证明安装成功:
4.linux云服务器安装mysql
4.1 启动Xshell,连接阿里云服务器
4.2 检查系统有没有自带mysql;
rpm -qa | grep mysql
4.3 一般情况是没有的,但如果有,就卸载
rpm -e --nodeps mysql
4.4安装mysql5.*版本,看自己需求安装
MySQL 5.7 Linux安装包
官网下载:https://dev.mysql.com/downloads/mysql/
选择你的镜像版本和目前最新是8.*版本,如果需要其他本部点击右侧如下图:
8.*版本:
以下是其他版本,选择你需要的版本:
将下载的压缩包上传到服务器中,我自己在root目录下user中创建一个mysql包用来保存下载的tar包。
切换到对应目录:
cd /root/user/mysql/
通过rz,把下载的tar包上传到服务器:
rz
成功后,解压刚下回来的tar包,得到rpm包
sudo tar -zvxf mysql-5mysql-5.7.33-1.el7.x86_64.rpm-bundle.tar
查询并卸载系统自带的Mariadb
rpm -qa | grep mariadb
rpm -e --nodeps 显示出的文件名
查询并卸载系统老旧版本的Mysql
rpm -qa | grep mysql
rpm -e --nodeps 显示出的文件名
如果这两个都没有则什么都不会显示,这就可以省一半的心了。
开始正式安装:1.找到你解压出来对应包执行Rpm包安装。注意看你的数据库版本。安装的顺序必须如下,因为有的包之间有依赖关系,顺序不一样会报错。
rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm
这几步都没错代表安装完成。
1. 设置开机启动
systemctl start mysqld
2. 启动mysql服务
查看mysql服务是否启动
service mysqld status
3. 重置root密码
MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:
sudo grep 'temporary password' /var/log/mysqld.log
4. 修改root用户密码
(MySQL的密码策略比较复杂,要大小写,过于简单的密码会被拒绝
mysql -u root -p
mysql> Enter password: (输入刚才查询到的随机密码)
mysql> SET PASSWORD = PASSWORD('自己设置密码'); /*注意后面一定要加上“;”不然可能无法执行*/
mysql> exit
5、开放远程连接
mysql>use mysql;
mysql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
6.下一步开放外部网段访问3306端口。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '自己设置的密码' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;
7.查看防火墙配置3306端口
查询防火墙状态:
systemctl status firewalld.service
8.开启防火墙mysql 3306端口的外部访问:
firewall-cmd --zone=public --add-port=3306/tcp --permanent; /*注意后面都要带分号“;”*/
firewall-cmd --reload;
9.使用数据库软件验证是否正常工作
在连接之前你需要在服务器中给数据库的3306端口添加到安全组中,在实例列表中就可以看到我们购买的云服务器。点进去,我们需要对服务器的安全组进行设置;
安全组中除了自带的规则,我们还需要添加几个新的安全组(这些安全组的具体作用可以看其他博主的文章)
完成这些错误后,可以使用数据库连接工具远程连接数据库。
5.部署SpringBoot项目
5.1 linux云服务器上的环境我们都已经配置好了,但好像差了一个tomcat?因为springboot内置了tomcat,所以后面我们把它打包成jar包就可以免去tomcat的配置了(如果是打包成war包,那还是要配置tomcat的)。
这里我是用的是IDEA工具进行springboot项目的打包:
打开你的项目,在右侧找到maven点开,执行一下操作:
运行完成后,可以在你项目的target包中去找:
把这个jar包传到服务器上:
打开application.properties,设置项目运行端口:
把这个jar复制到桌面,打开Xshell,使用rz指令把它上传到linux云服务器的根目录:
这里我自己创建了一个文件夹用于存放jar包:
上传成功后,我们要想在linux系统上运行这个项目,就要保证他运行所用的端口没有被占用,不然运行就会报错。
查看端口使用情况:
netstat -anp | grep 8099 //netstat -anp | grep <端口号>
可以看到这个端口被占用了(没被占用的时候不显示任何东西),查看占用端口的PID
sudo lsof -i:8099 //sudo lsof -i:<端口号>
我们要把它kill掉,留出空位来运行我们的项目。kill后再次查看端口,可以看到这个端口已经腾出来了(查询为空)
sudo kill -9 26191 //sudo kill -9 <PID>
使用java指令运行项目jar包,这样我们的项目就算部署成功了
java -jar ***.jar //***为你的jar包名
你需要把你的项目的端口的外部访问:
做完之后你需要在服务器的安全组中添加你的项目端口号:
firewall-cmd --zone=public --add-port=8099/tcp --permanent; /*注意后面都要带分号“;”*/
firewall-cmd --reload;
随便找个浏览器,搜索栏输入http://公网ip:端口号 就可以搜索到你的网站了。
如果需要把前端项目部署在服务器上需要安装一下nginx,关注我持续更新!!!
以上是关于SpringBoot部署到阿里云ECS服务器,阿里云ECS服务器安装JDKMysqlnginx详细步骤的主要内容,如果未能解决你的问题,请参考以下文章