如何把java程序作为Linux服务启动
来源:互联网 发布:移动80端口 编辑:程序博客网 时间:2024/06/05 20:13
java程序作为Linux服务启动
前言
当作为服务启动之后,对于程序的管理更加简单方面了,通过命令行
systemctl start xxx.service //启动项目systemctl stop xxx.service //停止项目systemctl restart xxx.service //重启项目
而且当程序被异常关闭之后,服务会将程序自动拉起。
第一步服务脚本编写
[Unit]Description=test demo api service by javaDocumentation=https://www.xxxxx.comAfter=network.target[Service]User=nobody#Type=forkingPIDFile=/run/testDemoAPI.pidExecStart=/bin/sh -c '/usr/bin/java -jar /usr/local/src/testDemoAPI/testdemoapi.jar >> /var/log/testDemoApi.log 2>&1'SuccessExitStatus=143TimeoutStopSec=10Restart=on-failureRestartSec=5[Install]WantedBy=multi-user.target
第二步将应用程序放到指定的文件路径下
将程序jar包放到脚本中指定的路径下
mv testdemoapi.jar /usr/local/src/testDemoAPI/
第三步将写好的脚本放到系统服务目录下
mv test-demo-api.service /usr/lib/systemd/system/
第四步启动服务
systemctl start test-demo-api.service//启动服务时可能会因为没有权限创建/var/log/testDemoApi.log文件报错
使用命令行查看原因
运行命令行:systemctl status test-demo-api.service[root@localhost system]# systemctl status test-demo-api.service● base-info-api.service - base info api service by java Loaded: loaded (/usr/lib/systemd/system/est-demo-api.service; disabled; vendor preset: disabled) Active: activating (auto-restart) (Result: exit-code) since 三 2017-09-20 17:11:43 CST; 3s ago Docs: https://www.hocyun.com Process: 7496 ExecStart=/bin/sh -c /usr/bin/java -jar /usr/local/src/testDemoAPI/testdemoapi.jar >> /var/log/testDemoAPI.log 2>&1 (code=exited, status=1/FAILURE) Main PID: 7496 (code=exited, status=1/FAILURE)9月 20 17:11:43 localhost.localdomain systemd[1]: Unit test-demo-api.service entered failed state.9月 20 17:11:43 localhost.localdomain systemd[1]: test-demo-api.service failed.运行命令行:journalctl -xe得知:9月 20 17:14:05 localhost.localdomain sh[7579]: /bin/sh: /var/log/testDemoAPI.log: 权限不够9月 20 17:14:05 localhost.localdomain systemd[1]: base-info-api.service: main process exited, code=exited, status=1/FAILURE9月 20 17:14:05 localhost.localdomain systemd[1]: Unit base-info-api.service entered failed state.9月 20 17:14:05 localhost.localdomain systemd[1]: base-info-api.service failed.9月 20 17:14:10 localhost.localdomain systemd[1]: base-info-api.service holdoff time over, scheduling restart.9月 20 17:14:10 localhost.localdomain systemd[1]: Started base info api service by java.
我们帮他创建好这个日志文件并且将用户权限改为nobody
touch /var/log/testDemoAPI.log //创建文件chown nobody:nobody testDemoAPI.log//并且将文件权限改为nobody
第五步启动项目
systemctl start test-demo-api.service
阅读全文
1 0
- 如何把java程序作为Linux服务启动
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
- linux下如何把apache作为服务运行?
- 让Java程序作为linux的Daemon后台运行 和 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
- 把tomcat作为系统服务,随机启动
- ubuntu下用jsvc把java程序做为linux服务启动
- 如何将linux一个程序作为一个服务
- 如何把oracle服务加到linux启动项
- 如何把oracle服务加到linux启动项
- 启动Java程序为Linux服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 使用Java Service Wrapper 把Java程序作为Windows系统服务
- 安装mysql报错2503
- C#-微信公众平台接口-上传临时素材
- let's Encrypt永久免费证书SSL配置HTTPS
- 日历插件超简单好用功能强大的插件(附有源码文件和使用说明)
- 仿facebook
- 如何把java程序作为Linux服务启动
- 全新体验—Eclipse更换代码颜色与风格!
- 数据结构与算法之线性表(一)
- 黑胡子之谜
- A. Arpa and a research in Mexican wave
- this、call和apply
- Codeforces862C. Mahmoud and Ehab and the xor 【构造】
- LeetCode-69-Sqrt(x) Python要用math.sqrt()
- ==与equals的区别