麦克斯仇
Think different
159
文章
29507
阅读
首页
INDEX
文章
ARTICLE
关于
ABOUT
CentOS7环境下利用systemctl管理jfinal-undertow服务
创建日期:
2019/09/28
修改日期:
2023/05/19
Java
Linux
JFinal
> PS:以下命令在`root`用户下执行 # 1 编写xxx.service 使用`vim`命令新建一个服务文件 vim /usr/lib/systemd/system/xxx.service > `/usr/lib/systemd/system/`该目录存放Linux系统所有的服务 内容如下: [Unit] Description=xxx.service After=network.target [Service] Type=forking ExecStart=/xxx/jfinal.sh start ExecReload=/xxx/jfinal.sh restart ExecStop=/xxx/jfinal.sh stop SuccessExitStatus=143 [Install] WantedBy=multi-user.target > `Description`为服务描述,可任意填写,`/xxx`为自己的项目路径,一定要使用绝对路径 关于`systemd.service`的详解,参见[systemd.service 中文手册](http://www.jinbuguo.com/systemd/systemd.service.html "systemd.service 中文手册") 关于为什么要设置`SuccessExitStatus=143`,参见 1.[Exit codes 【关键语:linux 系统调用 exit(int status) 的退出值的说明 】](https://blog.csdn.net/fallenink/article/details/8477277 "Exit codes 【关键语:linux 系统调用 exit(int status) 的退出值的说明 】") 2.[Services remain in failed state after stopped with systemctl](https://serverfault.com/questions/695849/services-remain-in-failed-state-after-stopped-with-systemctl/695863#695863 "Services remain in failed state after stopped with systemctl") # 2 修改jfinal.sh 将function start()内的java命令使用绝对路径,比如,当jdk安装在/usr/local/jdk/时,则如下示例 ![](https://cdn2.maxqiu.com/upload/c49d1a5d74394a1c93c2ff947d366820.jpg) > 如果使用输出日志,则输出日志也需要使用绝对路径 # 3 开启服务 # 重载系统服务 systemctl daemon-reload # 设置开机自启 systemctl enable xxx.service # 4 其他服务控制 # 启动服务 systemctl start xxx.service # 关闭服务 systemctl stop xxx.service # 重启服务 systemctl restart xxx.service ***完成,收工***
6
全部评论