SpringBoot项目部署在Windows和Centos上
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部署
一、准备
项目开发工具为 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
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiabkhe
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22