SpringBoot项目部署在Windows与Centos上

文章目录

  • Windows部署
    • 一、github上下载文件winsw
    • 二、文件目录
    • 三、编辑xml文件
    • 四、安装服务
    • 五、启动服务
    • 六、把jar包放到项目外面
    • 七、添加限制内存
  • Linux部署
    • 一、准备
    • 二、服务
    • 三、操作

Windows部署

windows部署服务借鉴于此篇博文

一、github上下载文件winsw

点击链接下载下图中的两个文件 https://github.com/kohsuke/winsw/releases

在这里插入图片描述

二、文件目录

1、进入jar包所在目录
2、把第一步骤的两个文件移动到jar包所在的目录,jar包名随意,WinSW.NET4.exe和sample-minimal.xml进行重命名,建议设置成一致的。

三、编辑xml文件

<service><!-- ID of the service. It should be unique across the Windows system--><id>agent-vhost</id><!-- Display name of the service --><name>agent-vhost</name><!-- Service description --><description>This service is a service created from a minimal configuration</description><!-- java环境变量,有些电脑不支持中文,可以去除此注释 --><env name="JAVA_HOME" value="%JAVA_HOME%"/><executable>java</executable><arguments>-jar "D:\agent-vhost-windows\target\agent-vhost.jar"</arguments><!-- 开机启动 ,有些电脑不支持中文,可以去除此注释 --><startmode>Automatic</startmode>
</service>

xml文件内有些需要调整
1、<id>标签内是服务名称,<name>标签是显示名称,两者不能和已存在服务重名。
2、<arguments>标签中的jar包地址和名称需要替换成自己的
这样弄完了 到最后服务可能乱码,然后把<arguments>标签中写成:

<arguments>-Dfile.encoding=UTF-8 -jar "D:\agent-vhost-windows\target\agent-vhost.jar"</arguments>

四、安装服务

在exe所在目录执行cmd 然后再再命令提示框里面输入 xxx.exe install 命令
如需卸载服务: 在命令提示框里输入 xxx.exe uninstall
(命令中的xxx.exe,是下载下来的exe文件重命名后的文件名)

五、启动服务

在服务中找到自己安装的服务,右键启动。

六、把jar包放到项目外面

1、详情请看 https://www.cnblogs.com/xiaoqi/p/6955288.html
2、建议使用自定义配置文件,把配置文件放到哪里都不碍事,只需修改第三步骤就好。
3、修改第三步骤中的arguments 标签就可以了,主要就是添加项目访问配置文件路径。

<arguments>-Dfile.encoding=UTF-8 -jar -Dspring.config.location=D:\config\config.properties "D:\agent-vhost-windows\target\agent-vhost.jar"</arguments>

七、添加限制内存

1、详情请看 https://www.jianshu.com/p/de0c4118f2ce
2、修改第三步骤中的arguments 标签就可以了(添加-Xms512m -Xmx512m 限制内存521M)

<arguments>-Dfile.encoding=UTF-8 -Xms512m -Xmx512m -jar -Dspring.config.location=D:\config\config.properties "D:\agent-vhost-windows\target\agent-vhost.jar"</arguments>

Linux部署

Linux部署服务借鉴于此篇博文

一、准备

项目开发工具为 idea,采用 Maven 构建。
SpringBoot 包含一个 Maven 插件,它可以将项目打包成一个可执行 jar

二、服务

新建 systemd 服务文件
进入服务文件存放目录:cd /etc/systemd/system
新建服务文件:vi serviceName.service,内容如下:

[Unit]
Description=serviceName
After=syslog.target        //不可动[Service]
Type=simple              //不可动
ExecStart=/usr/java/jdk1.8.0_121/bin/java -Xmx512M -Xms512M -jar /home/service/serviceName.jar --server.port=8080[Install]
WantedBy=multi-user.target             //不可动

注:Description 和 ExecStart 根据自己项目修改。上述注释记得删除
-Xss:规定了每个线程虚拟机栈及堆栈的大小,一般情况下,256k是足够的,此配置将会影响此进程中并发线程数的大小。
-Xms:表示初始化JAVA堆的大小及该进程刚创建出来的时候,他的专属JAVA堆的大小,一旦对象容量超过了JAVA堆的初始容量,JAVA堆将会自动扩容到-Xmx大小。
-Xmx:表示java堆可以扩展到的最大值,在很多情况下,通常将-Xms和-Xmx设置成一样的,因为当堆不够用而发生扩容时,会发生内存抖动影响程序运行时的稳定性。

三、操作

启动服务:systemctl start serviceName
停止服务:systemctl stop serviceName
服务状态:systemctl status serviceName
项目日志:journalctl -u serviceName
开机启动:systemctl enable serviceName

注:上述命令中 serviceName 也可写为 serviceName.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/12224.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【触觉智能Purple Pi OH开发板体验】开箱体验:开源主板Purple Pi RK3566 上手指北

前言 前段时间收到来自【电子发烧友】的一款开发板&#xff0c;名叫&#xff1a;PurplePi&#xff0c;216G售价仅249元。它使用的芯片是rk3566&#xff0c;适配的OpenHarmony版本为3.2 Release 是目前最便宜的OpenHarmony标准系统开源开发板&#xff0c;并且软硬件全部开源&am…

QT 使用串口

目录 1.1.1 添加库&#xff0c;添加类 1.1.2 定义串口 1.1.3 搜索串口 1.1.4 设置和打开串口 1.1.5 读取数据 1.1.6 发送数据 1.1.7 关闭串口 1.1.1 添加库&#xff0c;添加类 首先&#xff0c;QT5 是自带 QSerialPort(Qt5 封装的串口类)这个类的&#xff0c;使用时…

【深度学习笔记】Softmax 回归

本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记&#xff0c;视频由网易云课堂与 deeplearning.ai 联合出品&#xff0c;主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习&#xff0c;视频的链接如下&#xff1a; 神经网络和…

每日一题——有序链表去重

题目 删除给出链表中的重复元素&#xff08;链表中元素从小到大有序&#xff09;&#xff0c;使链表中的所有元素都只出现一次。 例如&#xff1a;给出的链表为1→1→2,返回1→2。 给出的链表为1→1→2→3→3,返回1→2→3。 数据范围&#xff1a;链表长度满足 0≤n≤100&#…

学习笔记|百度文心千帆大模型平台测试及页面交互简易代码

目前百度文心一言的内测资格申请相当拉胯&#xff0c;提交申请快3个月&#xff0c;无任何音讯。不知道要等到什么时候。 百度适时开放了百度文心千帆大模型平台&#xff0c;目前可以提交申请测试&#xff0c;貌似通过的很快&#xff0c;已取得测试申请资格&#xff0c;可以用起…

无线投屏手机(安卓)屏幕到 Linux(ubuntu 22.04)桌面

1.安装 scrcpy 安装 scrcpy会自动安装 adb. 这个版本的adb功能不是最全的&#xff0c;需要删掉&#xff0c;然后从链接 https://dl.google.com/android/repository/platform-tools-latest-darwin.zip 下载&#xff0c;解压安装即可。 2. 在手机上 打开开发者模式和 USB调试…

国内好用的企业级在线文档有哪些?

在当今数字化时代&#xff0c;企业级在线文档已经成为了现代办公环境中不可或缺的一部分。它不仅能够提高工作效率&#xff0c;还能够实现多人协同编辑&#xff0c;满足团队协作的需求。那么&#xff0c;在国内市场上&#xff0c;哪些企业级在线文档产品备受企业青睐呢&#xf…

Python(四十七)列表对象的创建

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

使用SVM模型完成分类任务

SVM&#xff0c;即支持向量机&#xff08;Support Vector Machine&#xff09;&#xff0c;是一种常见的机器学习算法&#xff0c;用于分类和回归分析。SVM的基本思想是将数据集映射到高维空间中&#xff0c;在该空间中找到一个最优的超平面&#xff0c;将不同类别的数据点分开…

Jsp+Ssh+Mysql实现的简单的企业物资信息管理系统项目源码附带视频指导运行教程

由jspssh&#xff08;springstruts2mysql&#xff09;实现的企业物资信息管理系统&#xff0c;系统功能比较简单&#xff0c;实现了基本的管理员、操作员等用户管理、物品分类管理、物品管理、入库管理、出库管理、库存预警、客户管理、供应商管理等基本功能需要的可以联系我分…

[JavaWeb]SQL介绍-DDL语句

SQL介绍-DDL语句 一.SQL简介1.简介2.SQL通用语法3.SQL语言的分类 二.DDL-操作数据库与表1.DDL操作数据库2.DDL操作表①.查询表(Retrieve)②.创建表(Create)③.修改表(Update)④.删除表(Delete) 一.SQL简介 1.简介 SQL: Structured Query Language–结构化查询语言用来操作关系…

prometheus和cAdvisor组合

文章目录 docker内部署PromethuesPrometheuscAdvisorPrometheus和cAdvisor关系配置 docker内部署Promethues Prometheus Prometheus是一个开源的系统监控和报警工具&#xff0c;由SoundCloud开发并在2012年捐赠给了Cloud Native Computing Foundation (CNCF)。它被广泛用于监…

php项目内存飚高处理与优化

公司服务器最近内存占用超过阈值一直报警 经过排查,内存占用很多&#xff0c;剩余很少 free -m 排查代码无太多冗余和缓存 最后和运维一起排查&#xff0c;发现宝塔安装后带的gitlab的进程很吃内存&#xff0c;赶紧停用&#xff0c;并卸载无用的软件 最后内存降下来了

16.Netty源码之ChannelPipeline

highlight: arduino-light 服务编排层:ChannelPipeline协调ChannelHandlerHandler EventLoop可以说是 Netty 的调度中心&#xff0c;负责监听多种事件类型&#xff1a;I/O 事件、信号事件、定时事件等&#xff0c;然而实际的业务处理逻辑则是由 ChannelPipeline 中所定义的 Cha…

Vue-Router基本使用

1 安装&#xff1a; vue2项目要安装vue-router3版本 npm i vue-router3 2 src下创建router目录&#xff0c;router文件夹下创建index.js 在vue.config.js中 配置src路径别名 3 在main.js中引入 4 在app.vue中配置 5 即可看到内容

okhttp原理分析

工程目录图 请点击下面工程名称&#xff0c;跳转到代码的仓库页面&#xff0c;将工程 下载下来 Demo Code 里有详细的注释 01okhttp module里 包含的设计模式&#xff1a;建造者设计模式、责任链设计模式 CustomInject 演示自定义注解 代码&#xff1a;okhttp原理分析、Andro…

掌握Python的X篇_13_Python条件语句实例:判断闰年、成绩评定

前面学习了条件语句以及调试的基本技巧&#xff0c;本篇介绍两个与条件语句有关的实例&#xff0c;对前面的知识又深刻认识。 文章目录 1. 判断闰年1.1 版本11.2 版本21.3 一行代码太长的处理方法 2. 根据成绩评级 1. 判断闰年 用户输入年份&#xff0c;判断该年份是否为闰年…

esp32_arduino的开发库安装笔记

1.1 Arduino软件下载与安装 Arduino官网下载地址&#xff1a;https://www.arduino.cc/en/software。 1.2在线安装 选择文件 - 首选项。 在附加开发板管理器网址中添加以下链接中的一个。 (1)Stable release link: https://raw.githubusercontent.com/espressif/arduino-es…

【Linux后端服务器开发】MAC地址与其他重要协议

目录 一、以太网 二、MAC地址 三、MTU 四、ARP协议 五、DNS系统 六、ICMP协议 七、NAT技术 八、代理服务器 一、以太网 “以太网”不是一种具体的网路&#xff0c;而是一种技术标准&#xff1a;既包含了数据链路层的内容&#xff0c;也包含了一些物理层的内容&#xf…

【ARM Coresight 系列文章 10.3 - ARM Coresight STM 寄存器介绍 及STM DMA 传输介绍】

文章目录 STM Register summarySTM DMA 相关的寄存器DMA TransferBurst requestSingle and burst request STM Register summary STM 的寄存器主要可以分为以下几类&#xff1a; STM DMA 相关的&#xff1b;STM HW Trigger 相关的&#xff1b;系统控制及状态寄存器&#xff1…