当前位置:   article > 正文

阿里云轻量级服务器部署springboot项目详细教程--保姆级入门_阿里云服务器部署springboot项目

阿里云服务器部署springboot项目

一、服务器的配置与连接

1.配置服务器初始密码

进入控制台,选择轻量级服务器,点击服务器列表
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.进行远程连接

我们选择root用户连接,因为部署项目有些操作需要root权限,用上面我们设置的密码就可以连接了
在这里插入图片描述
在这里插入图片描述
但是我们这里用另一种连接方式更方便,用第三方软件连接,可以用xshell,我用的是finalshell
选择ssh连接
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
至此,连接成功,第一步结束

二. 项目部署相关的软件安装

1.JDK的安装

网上先下载jdk的linux系统的压缩包,上传到linux中,一般是把这些放在/usr/local/目录下的
在这里插入图片描述
上传后,我们对其解压缩,并配置环境变量
相关解压缩命令: tar -zxvf jdk-8u351-linux-x64.tar.gz
在这里插入图片描述
在这里插入图片描述
配置环境变量 vim /etc/profile 在文件末尾加入以下配置信息

JAVA_HOME=/usr/local/jdk1.8.0_351
PATH=${JAVA_HOME}/bin:$PATiH
  • 1
  • 2

在这里插入图片描述
然后退出保存,刷新文件 source /etc/profile
在这里插入图片描述
这里看到版本号证明安装完成

2.Tomcat的安装

首先tomcat官网下载好tomcat的linux压缩包,上传到Linux上,还是放在/usr/local/目录下
在这里插入图片描述

接下来就是解压缩
在这里插入图片描述
在这里插入图片描述

这里有一个小问题
如果你ls命令显示: -bash: ls: 未找到命令
原因是:
环境变量PATH被修改了,是刚刚的修改影响了PATH,可能你修改的有点问题,仔细检查单词拼写和符号,更改回来之后保存退出,source /etc/profile ,重新加载文件,就好了;不想检查文件也可以直接输入下面命令回车
解决办法

export PATH=/bin:/usr/bin:$PATH
  • 1

在这里插入图片描述

回归正题,进入tomcat文件夹下的bin中去,启动tomcat服务器,启动命令 sh startup.sh
在这里插入图片描述
回车可以看到
在这里插入图片描述
我们来验证一下tomcat是否启动成功,查看它的启动日志
在这里插入图片描述
回车后直接到文件末尾,到最后一页,可以看到8080端口,证明启动成功了
在这里插入图片描述
我们可以电脑浏览器访问tomcat官网发现,访问不成功,因为我们的服务器还没有开放8080端口
访问url为 服务器ip:8080
接下来去阿里云的服务器的防火墙打开8080端口号
在这里插入图片描述
在这里插入图片描述

然后去finalshell中,开启防火墙,开放8080端口,刷新
开放8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • 1

立即生效

firewall-cmd --reload
  • 1

顺便把3306端口开放了,便于后面连mysql

firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload
  • 1

firewall-cmd --list-all
执行这个命令查看防火墙内开放的端口
在这里插入图片描述

这时我们再通过浏览器访问tomcat官网可以看到成功访问了,url为服务器ip:端口号
在这里插入图片描述
停止tomcat服务
1.在其bin目录下,执行sh shutdown.sh停止服务
2.执行ps -ef | grep tomcat 获取进程id,根据进程id停掉tomcat服务,kill -9 进程id

至此tomcat安装结束,感谢您的阅览,有任何问题欢迎指正

3.MySQL的安装

mysql的安装我另一篇文章给了很详细的教程,这里不再赘述了,也避免篇幅过长CentOS下的mysql安装详细教程,我这里就把遇到的问题再次说明一遍
1.如果linux用的是CentOS7的话,是自带mariabd的,与myslq数据库冲突,会安装失败,可以安装前先检查一下

rpm -qa | grep mariabd
  • 1

有的话,先删掉mariabd

rpm -e --nodeps 软件名
  • 1

2.如果安装报错为错误:没有任何匹配: mysql-community-server,执行以下两条命令再安装

sudo yum module disable mysql 
sudo yum install mysql-community-server
  • 1
  • 2

安装mysql服务完毕后,打开navicat,创建一个新的连接
在这里插入图片描述

在该连接下创建一个新的数据库会报错1044-Access denid for user
在这里插入图片描述
原因是mysql设置的权限问题。Mysql考虑到安全性,默认设置的权限是拒绝访问的,需要用户自己开放权限

解决方案
回到Linux中登录数据库系统

mysql -uroot -p
  • 1

给root授权并刷新

grant all privileges on *.* to 'root'@'%';
#刷新
FLUSH PRIVILEGES;
  • 1
  • 2
  • 3

然后刷新连接,再次创建数据库,若还是报错,删除该连接,重新创建一个新连接再创建数据库。

三. 项目部署服务器

1.修改项目配置

将application.yml配置文件中的数据库配置信息更改一下,localhost改为服务器ip,数据库的root的password改为新创建连接的root密码,clean后打包

2.打包并上传

打包完成后上传到Linux的/usr/local/app目录下,没有可以创建一个
在这里插入图片描述

3.启动项目

手动部署

直接输入 Java -jar 项目首字母+tab补全回车 即启动
报错是这个,是之前的tomcat服务没停掉,停到之前的tomcat服务再启动就行了
在这里插入图片描述

现在发现虽然项目启动了,但是是霸屏模式,所以我们需要改为后台启动,并将日志信息输出到日志文件中
使用 nohup java -jar 项目jar包名 &> server.log & 命令后台运行,并将日志输出到server.log中
在这里插入图片描述

可以看到日志已经在server.log中了
在这里插入图片描述

项目停止,先找到进程id, ps -ef | grep java,根据进程id停止进程,kill -9 进程id
在这里插入图片描述

通过shell脚本自动部署

在这里插入图片描述

1.先安装git,命令: yum install git

2.在/usr/local/目录下,将项目push上传的码云仓库的地址复制,linux中执行命令 git clone 仓库地址 ,将项目克隆到/usr/local/目录下,(注意仓库要开源)

3.上传maven的压缩包到/usr/local/目录下,解压缩,命令:tar -zxvf 压缩包名, 然后修改配置文件内容, vim /etc/profile

export MAVEN_HOME=/usr/local/apache-maven-3.5.4  #后面这个是解压所得文件名
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
  • 1
  • 2

保存并退出后重新加载配置文件

source /etc/profile
mvn -version #查看maven版本
  • 1
  • 2

4.在/usr/local/目录下创建repo目录作为本地仓库 mkdir repo,接下来设置setting.xml文件,配置本地仓库

vim /usr/local/apache-maven-3.5.4/conf/settings.xml
  • 1

修改配置信息如下

<localRepository>/usr/local/repo</localRepository>
  • 1

在这里插入图片描述

5.创建sh目录,添加脚本vim 脚本名.sh,给脚本授权chmod 777 脚本名,执行脚本完成自动部署,这样若idea中项目有修改,直接push到远程仓库,linux中执行脚本自动完成拉去项目,打包项目,完成部署。
自动部署脚本的详细代码如下,把自己的项目名称换上去

#!/bin/sh
echo =================================
echo  自动化部署脚本启动
echo =================================

echo 停止原来运行中的工程
APP_NAME=项目名称

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo 准备从Git仓库拉取最新代码
cd /usr/local/app/项目的工程名  #这里是你拉取得项目存放位置

echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成

echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo 启动项目
nohup java -jar 项目jar包名称 &> server.log &  #这个server.log是日志文件名称
echo 项目启动完成
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/69566
推荐阅读
相关标签
  

闽ICP备14008679号