springboot项目部署在linux上运行的两种方式小结

yizhihongxing

下面是“springboot项目部署在linux上运行的两种方式小结”的攻略。

概述

Spring Boot作为一种轻量级Java Web框架,在实际开发中得到了广泛的应用。为了让应用更好的运行和扩展,需要将其部署到生产环境中,而Linux作为生产环境的首选,本文将介绍Spring Boot项目部署在Linux上运行的两种方式:使用脚本方式运行和使用Docker容器运行。

使用脚本方式运行

使用脚本方式运行,我们需要编写一个bash脚本来完成项目的启动和停止等操作。以下是示例脚本:

#!/bin/sh
APP_NAME=myapp.jar
LOG_DIR=/logs
APP_HOME=/app

start() {
    nohup java -jar $APP_HOME/$APP_NAME > $LOG_DIR/app.log 2>&1 &
}

stop() {
    ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' | xargs kill -9
}

case $1 in
    start)
        start
        ;;
    stop)
        stop
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

以上脚本的主要功能是启动和停止项目,将项目作为后台进程启动,并将输出日志重定向到指定目录中。脚本中的几个关键变量需要根据实际情况进行修改:$APP_NAME代表Spring Boot打包后的jar包名称,$LOG_DIR为日志输出目录,$APP_HOME为项目存放目录。

使用Docker容器运行

使用Docker容器运行,我们需要先编写一个Dockerfile,用于构建我们的Docker镜像。以下是示例Dockerfile:

FROM java:8-alpine
ENV APP_NAME myapp.jar
ENV LOG_DIR /logs
ENV APP_HOME /app
COPY $APP_NAME $APP_HOME/
WORKDIR $APP_HOME
ENTRYPOINT ["java", "-jar", "$APP_NAME"]

以上Dockerfile基于Alpine Linux构建了Java 8的运行环境,定义了一些环境变量和复制项目文件到镜像中。ENTRYPOINT定义的命令指定了当容器启动时要执行的命令。

接着,我们可以使用以下命令来构建Docker镜像和运行容器:

docker build -t myapp .
docker run -d -p 8080:8080 -v /logs:/logs myapp

以上命令将我们构建好的镜像运行在一个后台容器中,并通过-p参数将容器内的8080端口映射到主机的8080端口上,-v参数将主机的/logs目录与容器内的/logs目录进行挂载,使得容器内的日志可以输出到主机的日志目录中。

总结

本文介绍了Spring Boot项目部署在Linux上运行的两种方式,通过使用脚本方式运行和使用Docker容器运行,可以让我们更方便地管理和运维我们的项目,提高开发和维护效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot项目部署在linux上运行的两种方式小结 - Python技术站

(1)
上一篇 2023年5月30日
下一篇 2023年5月14日

相关文章

  • Linux ipcs命令

    Linux ipcs命令的作用与使用方法 Linux ipcs命令用于显示系统中的 IPC(Inter-Process Communication,进程间通信)资源信息,包括消息队列、共享内存信号量等。它帮助管理员了解系统中的 IPC 资源使用情况,及时发现问题并进行优化。 Linux ipcs命的使用方法 ipcs命令的基本语法如下: ipcs [选项] …

    Linux 2023年5月10日
    00
  • 我花16块得到了一个永久的微型服务器

    前言 在上一篇文章中(我用 Python 写了一个统计博客园文章信息的小工具),我写了一个统计博客园阅读量的小程序,同时希望利用服务器每日统计一次,以获取一段时间内文章阅读量的变化情况。 但如果只是做这样一件事,去租一个服务器就有些大材小用了。 作为一个 DIY 爱好者,常年混迹于酷安、恩山等平台,家里已经有一台刷了 padavan 的路由器,一个破解了的电…

    Linux 2023年4月10日
    00
  • [Linux] 获取出日志中的邮箱shell

    需求是把所有的日志中邮箱获取出来,根据指定关键字过滤,邮箱的格式是\txxx@xxx\t的格式,日志的存放是按照日期作为目录 #!/bin/bash logBasePath=”/data1/mailLog/app/kafka/”; monthYearDay=`date -d “1 day ago” +”%Y-%m-%d”`; #安卓每日邮箱个数 logPat…

    Linux 2023年4月13日
    00
  • Apache安装配置避坑指南

    以下是“Apache安装配置避坑指南”的完整使用攻略,包含两个示例说明。 Apache安装配置避坑指南 Apache是一款流行的Web服务器软件,但安装和配置过程中可能会遇一些问题。以下是一些常见的问题和解决方法,帮助您避免在安装和配置Apache时遇到的坑。 1. 确认操作系统和Apache版本的兼容性 在安装Apache之前,需要确认操作系统和Apach…

    Linux 2023年5月13日
    00
  • Linux中设置路由以及虚拟机联网图文详解

    设置Linux的路由和虚拟机联网,是搭建服务器和网络环境所必需的基本技能。下面将详细讲解一下如何进行设置。主要包括以下三个步骤: 确定本地IP地址,并设置网络接口 首先需要查看本地IP地址以及其他网络接口信息。打开终端,输入以下命令: ifconfig 系统会列出当前已经配置的所有接口信息,其中包括IP地址、子网掩码、网关等信息。根据具体情况,选择合适的接口…

    Linux 2023年5月24日
    00
  • Linux下的Apache与PHP安全设置技巧

    以下是“Linux下的Apache与PHP安全设置技巧”的完整使用攻略,包含两个示例说明。 Apache安全设置 禁用不必要的模块: Apache服务器默认启用了许多块,其中一些可能不需要。您可以使用以下命令禁用不要的模块: bash sudo a2dismod module_name 例如,要禁用cgi模块,可以使用以下命令: bash sudo a2di…

    Linux 2023年5月12日
    00
  • 从内核源码看 slab 内存池的创建初始化流程

    在上篇文章 《细节拉满,80 张图带你一步一步推演 slab 内存池的设计与实现》中,笔者从 slab cache 的总体架构演进角度以及 slab cache 的运行原理角度为大家勾勒出了 slab cache 的总体架构视图,基于这个视图详细阐述了 slab cache 的内存分配以及释放原理。 slab cache 机制确实比较复杂,涉及到的场景又很多…

    Linux 2023年4月13日
    00
  • Linux 中PHP的安装教程

    下面是Linux中PHP的安装教程的完整攻略,包含以下步骤: 安装Apache服务器 首先要安装Apache服务器。在终端中输入以下命令: sudo apt-get update sudo apt-get install apache2 这将安装Apache服务器并启动它。可以通过在Web浏览器中输入服务器IP地址来检查Apache服务器是否已成功安装,如果…

    Linux 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部