将做的Springboot部署至私有云服务器,通过Gitee仓库拉取,Redis缓存、nginx代理等等

这个主要是记录下部署的过程,基本上项目做完、环境变量的一些东西都已经配置好了,项目是改变的瑞吉外卖,b站有课十分推荐!!!

首先将服务器设置下,下好相关的软件以及配置好相关的操作

这里我推荐使用MobaXterm MobaXterm Xserver with SSH, telnet, RDP, VNC and X11 - Download (mobatek.net)

 左边能实现文件上传,以及快速cd到目录等等操作,右边服务器指令代码,很方便的。

然后使用宝塔面板 配置一下大概就可以方便开启端口 管理软件
宝塔面板安装详细教程(linux和Windows系统)_宝塔面板windows安装教程_云tech的博客-CSDN博客

这里可以快速下载mysql jdk等等 如果没有相关软件可以去csdn继续搜索
主要用到 java jdk mysql redis git maven ngxin等

1.检查java jdk

 2.mysql启动以及配置

这一部分只要mysql -uroot -p你的密码 能登陆即可

 3.redis安装下载,然后启动redis服务

例如我是安装在了这个位置

 

cd /usr/local/redis-4.0.0/src

然后启动redis服务

./redis-server

应该都是默认启动的端口是6379,如果有问题小伙伴们继续csdn去设置一下redis.conf文件

4.git 安装这个是要快速拉取代码,与gitee仓库绑定

[root@VM-24-16-centos src]# git --version
git version 1.8.3.1

这一部分配置暂时不细琐了,大家可以配置一下自己的仓库,然后能快速拉取项目一键部署,

5.配置maven仓库

啊如果出现打包很慢的情况,就跟windows系统一样绑定阿里云仓库

******************************************************************************************************

基本环境解决之后,查看你springboot项目的applicaton.yml文件的port端口是多少,是8080还是8088等等,这里需要去服务器设置里开启端口访问,这里使用宝塔可快速开启,简单方便。

 

之后我们在服务器的某个文件位置建立一个文件夹javaapp

cd到javaapp里克隆项目

git clone xxx你的项目地址xxx

这样就生成了你的项目文件

例如下图:

之后我们在javaapp下建立一个.sh脚本,用来拉取gitee仓库代码并且自动部署

#!/bin/sh
echo =================================
echo  starting
echo =================================

echo stop Before
APP_NAME=reggie_take_out
echo jianchaduankou
netstat -tlnp|grep LISTEN|grep -w 8088
if [ $? -eq 0 ];then
    OLD_PID=`netstat -tlnp|grep LISTEN|grep -w 7090|awk -F/ '{print $1}'|awk '{print $NF}'`
    echo "old process pid: $OLD_PID"
    kill -9 $OLD_PID
fi



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 5
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 begin Git pull
cd /usr/local/javaapp/reggie_git
echo Git pulling
git pull
echo pull end

echo begin dabao

output=`mvn clean package -Dmaven.test.skip=true`

cd target

echo start app
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_git.log &
echo start success!  reggie_take_out-1.0-SNAPSHOT

主要是先检察以下8088(我的部署在了8088端口)有没有占用,占用的就给他kill,

然后cd到reggie_git  Git pull拉去最新然后自动运行maven命令打包

然后我们在target目录下生成了log文件,可以查看启动日志啥的。

这里

nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_git.log &
echo start success!  reggie_take_out-1.0-SNAPSHOT

大家替换为自己的项目名字,如果不知道的可以先在本地IDEA中打包以下看看叫啥名。 

 


  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v2.4.5)

2023-06-09 17:47:01.029  INFO 25430 --- [           main] com.ma.reggie.ReggieApplication          : Starting ReggieApplication v1.0-SNAPSHOT using Java 1.8.0_322 on VM-24-16-centos with PID 25430 (/usr/local/javaapp/reggie_git/target/reggie_take_out-1.0-SNAPSHOT.jar started by root in /usr/local/javaapp/reggie_git/target)
2023-06-09 17:47:01.032  INFO 25430 --- [           main] com.ma.reggie.ReggieApplication          : No active profile set, falling back to default profiles: default
2023-06-09 17:47:02.948  INFO 25430 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
2023-06-09 17:47:02.954  INFO 25430 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-06-09 17:47:03.011  INFO 25430 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 33 ms. Found 0 Redis repository interfaces.
2023-06-09 17:47:03.526  INFO 25430 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'redisConfig' of type [com.ma.reggie.config.RedisConfig$$EnhancerBySpringCGLIB$$78cbb73a] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2023-06-09 17:47:04.252  INFO 25430 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8088 (http)
2023-06-09 17:47:04.378  INFO 25430 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2023-06-09 17:47:04.378  INFO 25430 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.45]
2023-06-09 17:47:04.475  INFO 25430 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2023-06-09 17:47:04.475  INFO 25430 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2771 ms
Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
2023-06-09 17:47:05.464  INFO 25430 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-1} inited
2023-06-09 17:47:05.732  INFO 25430 --- [           main] com.alibaba.druid.pool.DruidDataSource   : {dataSource-2} inited
Registered plugin: 'com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor@33065d67'
Property 'mapperLocations' was not specified.
 _ _   |_  _ _|_. ___ _ |    _ 
| | |\/|_)(_| | |_\  |_)||_|_\ 
     /               |         
                        3.4.2 
2023-06-09 17:47:07.485  INFO 25430 --- [           main] com.ma.reggie.config.WebMvcConfig        : 扩展消息转换器
2023-06-09 17:47:07.498  INFO 25430 --- [           main] com.ma.reggie.config.WebMvcConfig        : 开始进行静态资源映射...
2023-06-09 17:47:08.530  INFO 25430 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8088 (http) with context path ''
2023-06-09 17:47:08.554  INFO 25430 --- [           main] com.ma.reggie.ReggieApplication          : Started ReggieApplication in 8.44 seconds (JVM running for 9.11)
2023-06-09 17:47:08.557  INFO 25430 --- [           main] com.ma.reggie.ReggieApplication          : 项目启动成功咯~~~
2023-06-09 17:47:14.835  INFO 25430 --- [nio-8088-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2023-06-09 17:47:14.835  INFO 25430 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-06-09 17:47:14.837  INFO 25430 --- [nio-8088-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 2 ms
2023-06-09 17:47:15.724  INFO 25430 --- [nio-8088-exec-3] com.ma.reggie.filter.LoginCheckFilter    : 用户未登录

如果日志中打印这些代码行证明启动成功。

不过这里暂时没有用到nginx去做代理,这样我们直接访问你项目里的resource下的静态资源即可,例如这里是:

http://服务器地址:8088/backend/page/login/login.html

就进入到了登陆界面。

 基本上就结束了,不过nginx我配置了暂时没啥用,也在博客上提问了,可能是前端项目html css js需要打包成dist文件,如果使用课程给的dist文件可能他配置的一些东西跟我们自己配制的有些区别,所以这一部分暂时没有用到,后续可能会完善下。

在提供个简单办法直接在IDEA中打包,得到jar包文件,直接配置好服务器环境变量之后直接java -jar 启动即可,

但是这种启动方式如果你把当前命令行界面关了,他自动也就把端口关了这里可以再创建一个sh脚本或者输入以下命令

nohup java -jar /usr/local/javaapp/reggie_git/target/reggie_take_out-1.0-SNAPSHOT.jar &

这样就会一直在后台运行了。

记录了一下部署的过程,大家可以尝试尝试,如果部署不成功大概率是项目主从复制数据库配置问题、redis端口问题、以及服务器的一些环境变量问题,耐心找找问题出处都可以部署成功。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值