技术标签: Ubuntu Java 系统服务 Windows Springboot
Springboot应用配置(Linux系统使用,windows可以不配置):
需要在build.gradle中添加如下配置并打成jar包:
springBoot {
}
1、可执行应用路径:
/var/local/javaapproot/yfzx/current/yfzxservice.jar
2、向/etc/init.d/下创建服务链接
sudo ln -s /var/local/javaapproot/yfzx/current/yfzxservice.jar /etc/init.d/yfzxservice
3、激活服务并开机自启(NN为自启顺序编号,例如90,也可以不写)
sudo update-rc.d yfzxservice defaults NN
在Ubuntu中是没有chkconfig命令的,可以用update-rc.d 来代替。
--------说明---------
# update-rc.d sshd defaults # Activate sshd with the default runlevels
# update-rc.d sshd start 20 2 3 4 5 . stop 20 0 1 6 . # With explicit arguments
# update-rc.d -f sshd remove # Disable sshd for all runlevels 删除服务
# shutdown -h now (or # poweroff) # Shutdown and halt the system
Spring Boot应用程序可以作为Windows服务使用启动 winsw
。
下载WinSW
下载WinSW 2.x
, GitHub :https://github.com/kohsuke/winsw
使用方式:
WinSW是一个可执行的二进制文件,可用于将自定义进程打包并管理为Windows服务。一旦你下载安装包,你可以重新命名winsw.exe
为任何名称,例如myService.exe
。
WinSW 依赖配置文件启动: Main XML Configuration file and EXE Config file.
更改 winsw.exe
名称为将要注册的应用服务名称, 同时将同一目录层级的xml配置文件名称保持与winsw.exe新名称一致。
在执行winsw.exe命令或重命名的winsw.exe
时,可以追加下列命令:
install
将服务安装到Windows服务控制器。该命令需要安装指南中描述的一些初步步骤。uninstall
卸载服务。上面的操作相反。start
开始服务。该服务必须已经安装。stop
停止服务。restart
重新启动服务。如果服务当前没有运行,则该命令的作用就像start
。status
检查服务的当前状态。
NonExistent
表示该服务目前尚未安装Started
以表明服务正在运行Stopped
以表明该服务已安装,但目前尚未运行。
注册服务案例:
1、下载winsw后,安装 .net framework4
2、将winsw.exe更名为YfzxService.exe(需要注册的应用服务名称),
3、将winsw.exe配套的xml文件的名称改为YfzxService.xml。xml文件需要与YfzxService.exe在同一层级目录
配置文件内容格式(相对路径):
<configuration>
<!-- 系统服务ID,不能与其他系统服务名称重复-->
<id>yfzxservice</id>
<!-- 系统服务显示名称 -->
<name>YfzxService (powered by WinSW)</name>
<!-- 服务描述 -->
<description>Yfzx Service</description>
<!-- java环境变量 -->
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<!-- 需要执行的应用 命令 -->
<executable>java</executable>
<!-- 命令参数,分行可以用多行'argument'标记 -->
<arguments>-jar %BASE%\current\yfzxservice.jar</arguments>
</configuration>
3、将winsw及配置文件放在应用目录
实例中jar包存放位置:D:\javaroot\yfzx\current\yfzxservice.jar
winsw.exe存放位置:D:\javaroot\yfzx\YfzxService.exe (winsw已变更名称为:YfzxService.exe)
winsw.exe配置文件存放文件位置:D:\javaroot\yfzx\YfzxService.xml
结构如下:
4、安装服务
管理员模式打开CMD窗口,导航到D:\javaroot\yfzx\
D:\javaroot\yfzx>YfzxService.exe install
2018-01-30 16:27:11,122 INFO - Installing the service with id 'yfzxservice'
5、启动服务
D:\javaroot\yfzx>net start yfzxservice
YfzxService (powered by WinSW) 服务正在启动 .
YfzxService (powered by WinSW) 服务已经启动成功
然后便可以在服务管理面板中查看到此服务
在浏览器中输入地址便可以访问了
Tips:
Windows所需的工具及软件已上传至:http://download.csdn.net/download/fancancan/10232761
需要的同学可以去下载,或者可以去上面提到的官方网站上去下载
ArrayList add()/clear()数组指针越界?原来是线程同步问题。&gt; 为什么 ArrayList 集合在add 的时候会数组越界?集合ArrayList.clear()出现了数组越界? 第一次遇到ArrayList的claer方法抛出异常,仔细一看,并不是空指针,跟踪源码,发现是某个类的checkForComodification方法抛出ConcurrentModific...
曾几何时,IOT这个名词和概念,越来越频繁地出现在我们的周边,我们听到、看到,偶尔也能小小地感受到。众多的顶级企业也纷纷在其战略中宣布自己必将开启新的未来赛道来拥抱IOT,创业的萌芽也都在激烈翻滚涌动。我们喜大普奔,我们感觉一个新的时代就要来临!其实,从本质来说,IOT时代算不上一个新的时代,因为IOT的本质就是数字化的更进一步,是更加深层次的数字化,所以应该算是数字化时代的延续和迭代。数字化时代,我们要将其划分一下阶段的化,可以从如下维度来进行简单划...
前言作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,一共1200页,几乎涵盖了MySQL的所有知识,尤其突出了实战技能和高级知识点,无论是工作还是面试看完这篇就足够了!注意:关于MySQL的内容整理,包括了面试题、学习笔记、使用文档以及Xmind思维图几个部分,需要高清完整版《MySql学习资源大礼包》的朋
用户信息 账号信息 修改密码 公司信息 用户管理 添加/编辑用户 1.要实现路由跳转,先要在el-menu标签上添加router属性,然后只要在每个el-menu-item标签内的index属性设置一下url即可实现点击el-menu-item实现路
解决方法:在设置里面直接贴上代码: "vetur.format.defaultFormatter.html": "js-beautify-html", "vetur.format.defaultFormatterOptions": { "js-beautify-html": { "wrap_attributes": "auto", ...
关联:bitmap、哈夫曼压缩、png、jpeg、jpg、webp、Android版本采用的压缩策略、内存中和磁盘中bitmap的计算方式Android图片压缩分析(一)一级目录二级目录三级目录位深度inSampleSize 设置图片的缩放比例(宽和高)一级目录二级目录三级目录位深度位深度是指在记录数字图像的颜色时,计算机实际上是用每个像素需要的二进制数值位数来表示的。计算机之所以能够显示颜色,是采用了一种称作“位”( bit ) 的记数单位来记录所表示颜色的数据。当这些数据按照一定的编排方式被
五:广播Android开发中如果需要对两个完全没关系的程序之间进行通信就可以使用发送广播与接收广播的机制来实现 ,例如程序A发送了一个广播 程序B接受到 做一些事情 这样就达到了相互的通讯。 public class BroadcastActivity extends Activity { Button mButton0 = null; Button
主流浏览器内核分类 浏览器内核种类繁多,商用的加上非商业的免费内核,大约有10款以上甚至更多,不过通常比较常见的大约只有以下4种,下面就简单介绍一下。 (1)Trident Trident(又称为MSHTML),是微软的Windows搭载的网页浏览器——Internet Explorer浏览器使用的内核(俗称IE内核),该内核程序在1997年的IE 4中首次被采用,之
Javascript 本身对于对象和数组的区分是很混乱的,所有有时候数据类型判断真是伤透了脑筋。就简单总结几点吧,1.type of()type of 是一个一元运算,他可以解决大部分数据类型判断,不过有些就有点坑爹了,比如 :var a = [1,2,3];type of(a) // 返回 ‘object’ ....2.instanceof这个貌似还不错 比如:
ERROR: Attempting to operate on hdfs journalnode as rootERROR: but there is no HDFS_JOURNALNODE_USER defined. Aborting operation.Starting ZK Failover Controllers on NN hosts [hd102 hd103 hd104]ERROR: Attempting to operate on hdfs zkfc as rootERROR: but
成功解决matplotlib\cbook\deprecation.py:107: MatplotlibDeprecationWarning: Passing one of 'on', 'true',目录解决问题解决思路解决方法解决问题matplotlib\cbook\deprecation.py:107: M...