Centos部署Springboot项目详解

这篇具有很好参考价值的文章主要介绍了Centos部署Springboot项目详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备启动jar包,app.jar放入指定目录。

一、命令启动

1、启动命令

java -jar app.jar

2、后台运行

nohup java -jar app.jar >/dev/null 2>&1 &

 加入配置参数命令

nohup java -Xms512M -Xmx512M -jar app.jar --server.port=9080 spring.profiles.active=prod >nohup.out 2>&1 &

 随着配置参数越来越多,可创建启动脚本一键启动。

二、脚本启动

1、简单脚本

vi start.sh

 拷贝一下内容

#!/bin/bash

#自定义
RESOURCE_NAME=test-server
SERVER_PORT=8080

#停止服务
PID=$(ps -ef | grep $RESOURCE_NAME  | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
   echo $RESOURCE_NAME Application is already stopped
else
    kill $PID
    echo  $RESOURCE_NAME Application stopped successfully  pid = $PID
fi

#不输出启动日志
nohup java -jar $RESOURCE_NAME.jar \
--server.port=$SERVER_PORT \
--spring.profiles.active=prod \
>/dev/null 2>&1 &

#不输出日志
#>/dev/null 2>&1 &
#输出错误日志
#>/dev/null 2>nohup_err.out & 
#输出全部日志
#>nohup.out 2>&1 &

echo $RESOURCE_NAME Application started successfully

脚本授权

chmod 775 start.sh

2、升级脚本

vi app.sh

拷贝一下内容

#!/bin/sh
# ./app.sh start 启动 stop 停止 restart 重启 status 状态
AppName=app-server.jar
#应用端口
SERVER_PORT=8080
# JVM参数
JVM_OPTS="-Dname=$AppName  -Duser.timezone=Asia/Shanghai -Xms512m -Xmx512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps  -XX:+PrintGCDetails -XX:NewRatio=1 -XX:SurvivorRatio=30 -XX:+UseParallelGC -XX:+UseParallelOldGC"

if [ "$1" = "" ];
then
    echo -e "\033[0;31m 未输入操作名 \033[0m  \033[0;34m {start|stop|restart|status} \033[0m"
    exit 1
fi

if [ "$AppName" = "" ];
then
    echo -e "\033[0;31m 未输入应用名 \033[0m"
    exit 1
fi

function start()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`

	if [ x"$PID" != x"" ]; then
	    echo "$AppName is running..."
	else
		nohup java $JVM_OPTS -jar $AppName\
		--server.port=$SERVER_PORT \
		--spring.profiles.active=mysql-test \
		--jasypt.encryptor.password=123456 \
		 > /dev/null 2>&1 &
		echo "Start $AppName success..."
	fi
}

function stop()
{
    echo "Stop $AppName"

	PID=""
	query(){
		PID=`ps -ef |grep java|grep $AppName|grep -v grep|awk '{print $2}'`
	}

	query
	if [ x"$PID" != x"" ]; then
		kill -TERM $PID
		echo "$AppName (pid:$PID) exiting..."
		while [ x"$PID" != x"" ]
		do
			sleep 1
			query
		done
		echo "$AppName exited."
	else
		echo "$AppName already stopped."
	fi
}

function restart()
{
    stop
    sleep 2
    start
}

function status()
{
    PID=`ps -ef |grep java|grep $AppName|grep -v grep|wc -l`
    if [ $PID != 0 ];then
        echo "$AppName is running..."
    else
        echo "$AppName is not running..."
    fi
}

case $1 in
    start)
    start;;
    stop)
    stop;;
    restart)
    restart;;
    status)
    status;;
    *)

esac

 3、开机启动

方式一

1、启动脚本拷贝至/etc/rc.d/init.d目录

注:需要把启动脚本中的路径都修改成绝对路径

2.给脚本app-server-auto.sh和jar包app-server.jar 添加权限

sudo chmod +x /etc/init.d/app-server-auto.sh
sudo chmod +x /home/xxx/app-server.jar 

3.添加到chkconfig 并把chkconfig作为系统服务 然后设置开机自启

#添加为系统服务
sudo chkconfig --add  app-server-auto.sh
#设置为开机启动
sudo chkconfig app-server-auto.sh on 
# 启动服务 查看脚本是否正确
sudo service app-server-auto.sh start

 方式二

1、编辑/etc/rc.d/rc.local文件

vi /etc/rc.d/rc.local

 2、拷贝以下内容

source /etc/profile && cd /home/hello/application/app-server && ./start.sh

 重启机器就可以测试了

三、注册服务

1、创建服务目录

#创建目录
mkdir /var/app 

2、创建应用启动用户并授权

#创建组
getent group app|| groupadd -r app
#创建用户
getent passwd app || useradd -r -d /opt -s /bin/nologin -g app app

3、更改文件夹权限

chown -R app:app /var/app

4、注册应用服务

在/usr/lib/systemd/system目录下增加app.service,目录必须是绝对目录

vi /usr/lib/systemd/system/app.service

拷贝以下内容

[Unit]
Description=App-server description
After=syslog.target

[Service]
User=app
Group=app

ExecStart=/usr/java/jdk1.8.0_202/bin/java -Xms512M -Xmx512M -jar /var/app/app-server.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

刷新命令

systemctl daemon-reload

5、管理命令

#配置开机启动
systemctl enable app
#删除开机启动
systemctl disable app
#启动
systemctl start app
#停止
systemctl stop app
#重启
systemctl restart app
查看启动状态
systemctl status app
#刷新服务
systemctl daemon-reload
#查看日志
journalctl -u springboot.service

推荐一个免费的pdf转换网站,包含pdf转word、pdf拆分等功能。

PDF转换网站http://test.aipaca-cbec.com/index文章来源地址https://www.toymoban.com/news/detail-612686.html

到了这里,关于Centos部署Springboot项目详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7通过nginx+tomcat部署Vue+SpringBoot项目(超详细步骤,从nginx+tomcat安装到Vue+SpringBoot打包配置+nginx.conf)

    目录 一丶前言 二、安装nginx 1.准备nginx 2.服务器上传nginx 3.解压nginx  4.安装相关依赖库 5.编译nginx 6.启动nginx 7.访问nginx  8.安装成系统服务 三、安装Tomcat 1.安装JDK(如果安装并配置环境变量了可以略过) 2.准备Tomcat 3.服务器上传tomcat 4.解压tomcat  5.启动tomcat 6.访问tomcat 7.设置

    2024年02月05日
    浏览(68)
  • CentOS7.6上实现Spring Boot(JAR包)开机自启

    Linux自启(或开机自启)指的是在Linux系统启动时自动运行特定的程序或脚本。当计算机启动时,操作系统会按照一定的顺序加载系统服务和配置,其中包括自动启动一些应用程序或服务。这些应用程序或服务会在系统启动后自动运行,以提供特定的功能或服务。 开机自启的

    2024年02月09日
    浏览(43)
  • CentOS系统环境搭建(九)——centos系统下使用docker部署项目

    centos系统环境搭建专栏🔗点击跳转 关于Docker-compose安装请看CentOS系统环境搭建(三)——Centos7安装DockerDocker Compose,该文章同样收录于centos系统环境搭建专栏。 采用前后端分离的形式部署。 使用Docker运行项目。 使用Docker Compose创建项目容器。 使用git管理项目的更新。 安装

    2024年02月12日
    浏览(48)
  • centos 7.9 部署django项目

    主要组件:nginx、uwsgi、django项目 访问页面流程:nginx---》uwsgi---》django---》uwsgi---》nginx 参考链接:CentOS7下部署Django项目详细操作步骤-Django社区,Django中文网,django教程,Django! 操作系统:centos 7.9 配置信息:4核4G  50G 内网 eip :10.241.103.216 部署过程: 步骤 命令 备注 1、安装依

    2024年02月12日
    浏览(42)
  • Spring Cloud部署篇1——Jar包部署至CentOS云服务器

    开发框架:SpringBoot、SpringCloud、OpenFeign 缓存:Redis分布式缓存 + 本地缓存 数据库:MySQL、MongoDB 网关:Gateway + Sentinel 本次部署的是基于Spring Cloud的微服务项目,需要将现有的gateway网关模块和mingink-system系统服务模块分别打成Jar,并上传到CentOS云服务器进行部署。 父模块pom.x

    2024年02月21日
    浏览(37)
  • 部署Spring Boot项目

    上传jar包 之前在 新建Spring Boot项目 [1] 使用 mvn install 的方式,已经构建出jar包。 通过scp或rz/sz,将该jar包上传到服务器 执行 java -jar hello-0.0.1-SNAPSHOT.jar ,发生如下报错: 这是由于 编译环境 与 运行环境 不一致导致: 本机执行 java -version 服务器上执行 java -version 服务器 安装/更

    2024年02月10日
    浏览(53)
  • Docker部署spring boot项目

    在docker部署时首先要保证一般部署能够访问。 目前主流的java框架为spring,软件包为jar包,只需以jar为基础构建容器环境。打包为jar后只需要jvm就可以运行,因此需要以jdk为镜像构建容器。 基于命令构建jdk环境 拉取openjdk镜像: docker pull openjdk:8 上传web文件,启动容器和web服务

    2024年02月03日
    浏览(39)
  • Spring Boot 笔记 021 项目部署

    1.1 引入坐标,并双击package打包成jar包 1.2 在服务器上运行jar包 1.3 使用postman测试 2.1 运行配置 2.1.1 命令更改端口 java -jar big-event-1.0-SNAPSHOT.jar --server.port=7777 2.1.2 环境变量更新(略) 2.1.3 外部配置文件,在jar包同目录下配置application.yml文件(略) 3.1 多环境开发(开发,测试

    2024年02月21日
    浏览(37)
  • 【Spring Boot】Spring Boot项目中如何查看springBoot版本和Spring的版本

    在项目中查看默认版本有两种方式如下 Spring Boot 的最新版本支持情况: 版本 发布时间 停止维护时间 停止商业支持 3.0.x 2022-11-24 2023-11-24 2025-02-24 2.7.x 2022-05-19 2023-11-18 2025-02-18 2.6.x 2021-12-17 2022-11-24 2024-02-24 2.5.x 2021-05-20 已停止 2023-08-24 2.4.x 2020-11-12 已停止 2023-02-23 2.3.x 2020-05-

    2024年02月11日
    浏览(99)
  • 如何将 Docsify 项目部署到 CentOS 系统的 Nginx 中

    🎉如何将 Docsify 项目部署到 CentOS 系统的 Nginx 中 ☆* o(≧▽≦)o *☆嗨~我是IT·陈寒🍹 ✨博客主页:IT·陈寒的博客 🎈该系列文章专栏:AIGC人工智能 📜其他专栏:Java学习路线 Java面试技巧 Java实战项目 AIGC人工智能 数据结构学习 🍹文章作者技术和水平有限,如果文中出现错

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包