windows平台
使用winsw
winsw是一个开源项目,程序以及源码可以在Git Hub中下载:https://github.com/kohsuke/winsw/releases
winsw是一个可以将任何应用程序注册成服务的软件
使用方法:
1、下载exe文件,重新命名winsw.exe(自定义)
2、同目录下创建一个与.exe文件同名的xml文件,如winsw.xml
其中参数自己看一下就可以了
<service>
<id>projectName</id>
<name>projectName</name>
<description>To start my app as a service.</description>
<env name="MYSERVICE_HOME" value="%BASE%"/>
<executable>java</executable>
<arguments>-Xmx256m -jar "%BASE%\App.jar" --server.port=80 --spring.profiles.active=prod</arguments>
<logmode>rotate</logmode>
</service>
3、使用cmd,用cd命令转到winsw.exe所在文件夹,然后执行命令
安装服务命令:./MyApp.exe install
卸载服务命令:MyApp.exe uninstall
4、打开系统服务功能:运行——输入services.msc,即可看见自己命名的服务myApp
5、设置服务为自动,并启用即可
ubuntu平台
1.创建一个服务
sudo vim /etc/systemd/system/my-webapp.service
复制/粘贴以下内容到文件 /etc/systemd/system/my-webapp.service 中:
[Unit]
Description=My Webapp Java REST Service
[Service]
User=ubuntu
#The configuration file application.properties should be here:
#修改为你的工作目录
WorkingDirectory=/home/ubuntu/workspace
#要执行程序的路径,调用jar文件的shell执行文件
fileExecStart=/home/ubuntu/workspace/my-webapp
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
2.创建调用服务的Bash脚本
下面是调用JAR文件 my-webapp 的bash脚本:
/bin/sh
sudo /usr/bin/java -jar my-webapp-1.0-SNAPSHOT.jar server config.yml
不要忘记给脚本授予可执行权限:
sudo chmod u+x my-webapp
3.启动服务
sudo systemctl daemon-reload
sudo systemctl enable my-webapp.service
sudo systemctl start my-webapp
sudo systemctl status my-webapp
4.设置日志记录
服务设置好之后,我们还需要记录一下日志信息,以供有问题的时候查阅。这里我们使用Linux的新日志系统Journald。
简单介绍下Journald,它是Linux的新日志系统。Journald和systemd绑定。 Journald使用journalctl工具读取日志,默认参数下显示所有日志内容。journalctl不是本文的重点,感兴趣的读者可以自行查阅资料去了解。
我们简单介绍两个参数,使用 -f 选项可以查看实时日志,使用 -n 可以指定日志行数,使用 -u 指定特定单元(同–unit)。
首先执行该命令,
sudo journalctl –unit=my-webapp
如果想查看实时日志的话,可以执行:
sudo journalctl -f -n 1000 -u spinal-webapp
停止服务:
sudo systemctl stop my-webapp
war tomcat
配置好基本环境
cd tomcat/bin
service.bat install