这是为小白定制的专属《Linux轻松上手》系列。涵盖了linux常用指令、shell脚本等核心内容,浅显易懂,配合实操案例快速上手。目标就是帮助大家轻松上手linux,少走弯路!

很多时候,我们的java服务打成jar包之后,想把它设置为linux的service,通过systemctl指令统一管理。要怎么实现呢?跨考菌来手把手教你吧~~

第一步:编写sh脚本

/usr/local/src/shs/stressTest目录下,新建两个脚本,start.sh和stop.sh。这里的目录没有要求。

  • start.sh

#!/bin/shsource /etc/profileexport PATH=$JAVA_HOME/bin:$PATH#程序名RUN_NAME="renren-fast.jar" # renren-fast.jar这是你的jar包,改下名字即可。# jar 位置JAVA_OPTS=/usr/local/src/java/project/renren-fast.jar # jar包的位置。LOG_OPTS=/usr/local/src/java/project/stressTest.log # 你的日志文件存放的位置。nohup java -jar $JAVA_OPTS >$LOG_OPTS 2>&1 &   # 启动脚本echo "$RUN_NAME started success."echo $! > /var/run/stressTest.pid

记住,一定要加上source /etc/profile,巨坑,不然,提示找不到java命令

  • stop.sh

#!/bin/shsource /etc/profilePID=$(cat /var/run/stressTest.pid)kill -9 $PID

第二步:修改脚本的可执行权限

chmod +x start.shchmod +x stop.sh

第三步:建立服务

进入/etc/systemd/system目录,新建stressTest.service服务(stressTest是服务名)

[Unit]Description=压测平台demoafter=network.target[Service]User=rootGroup=rootType=forkingKillMode=processExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh startPrivateTmp=true[Install]WantedBy=multi-user.target[Service]User=rootGroup=rootType=forkingKillMode=processExecStart=/bin/sh /usr/local/src/shs/stressTest/start.sh startPrivateTmp=true[Install]WantedBy=multi-user.target

第四步:新增服务的可执行权限:

chmod +x stressTest.service

第五步:执行一下命令

systemctl daemon-reload:重新加载某个服务的配置文件,如果新安装了一个服务,归属于 systemctl 管理,要是新服务的服务程序配置文件生效,需重新加载。systemctl enable hello-service.service   #添加开机启动服务systemctl start hello-service.service     # 启动服务systemctl stop hello-service.service    #关闭服务systemctl restart hello-service.service   # 重启服务systemctl status hello-service.service    #查看服务状态systemctl disable hello-service.service    #取消开机启动

start.bat怎么启动java项目_部署java项目为服务,设置开机自启动相关推荐

  1. mysql服务没有权限开机不会自启动_计算机服务项里没有MySQL服务,无法设置开机自启动或者关闭自启动,的解决办法...

    我的MySQL使用的是解压版的(不清楚适不适用于安装版,可以尝试),并且已配置好环境变量,但是发现每次使用MySQL数据库的时候都需要去解压后的文件夹里启动run.bat,然后MySQL数据库才可以使 ...

  2. CentOS安装docker图解(下载、卸载、安装、启动、检测、设置开机自启动)

    1.下载链接 点击下载 点击后加入如下页面. 2.卸载之前的docker 复制该命令,在CentOS上执行 3.安装docker依赖的包 复制该命令,在CentOS上执行 4.告诉CentOS,doc ...

  3. linux设置开机自启动(开机启动项)(chkconfig)

    /etc/rc.local vim /etc/rc.local 在文件末尾加上你开机需要执行的命令即可(写绝对路径,添加到系统环境变量的除外) Ubuntu开机之后会执行/etc/rc.local文件 ...

  4. 用gradle启动java项目_构建Java项目

    #构建Java项目# 上一节我们简要介绍了如何编写一个单机的To Do应用,接下来要打包部署成可执行的应用,我们需要编译源代码,生成的class文件需要打包到JAR文件中.JDK提供了javac 和j ...

  5. java web ubuntu_Ubuntu部署Java web项目

    登录服务器和给服务器传输文件,使用的工具是Xshell Xftp Mysql 安装mysql 输入:sudo apt-get update                     更新软件列表 输入: ...

  6. java和python结合做项目_由浅入深Java+Python结合项目实战

    [课程内容] [初级项目:图片社交+电商导购+漂流瓶] 项目实现功能: 用户注册,登录,登出图片的多种上传方式,删除首页图片分类,排序和分页个人页管理图片分享 课程内容: 开发工具和Python语言介 ...

  7. java 部署_部署java应用的几种方式

    J2EE应用 该应用根目录下有好多文件夹和以jsp结尾的文件 部署时,需要在tomcat的conf目录下的server.xml文件中添加上,用来确当具体的代码路径 通常来说,Springboot 部署 ...

  8. hostapd 进程启动不了_项目管理|项目启动会实操要点,项目经理掌权的关键

    项目启动会就像古代的誓师大会,把大家集中到一起,告诉大家我们要去干什么,这个事情如何重要.皇帝如何重视,干成以后大家升官加爵.富贵少不了大家的等等,大会目的在于调动起大家干活的热情,然后顺利地推进这件 ...

  9. java人工智能开源项目_用Java开源项目JOONE实现人工智能编程

    很少有程序员不对这里或者那里所包含的人工智能编程所吸引,然而,许多对AI感兴趣的程序员很快就因其中包含的算法的复杂性而退却.在本文中,我们将讨论一个能大大简化这种复杂性的Java开源工程. Java面 ...

最新文章

  1. 面试官:聊聊分布式事务,再说说解决方案!
  2. 阿里员工哀叹不读书已经没有出路,招聘简历基本都是985
  3. 微信开放平台开发中遇到的问题
  4. 文巾解题 175. 组合两个表
  5. Python公众号开发部分代码开源
  6. 说说 “后台开发” 需要注意哪几点
  7. Windows2000下Api函数的拦截分析
  8. 【数据竞赛】盘点Kaggle中常见的AutoEDA工具库
  9. c#如何跳出一个函数_C#初学者教程系列9:类和对象
  10. GPUImage – 色阶 GPUImageLevelsFilter
  11. R语言ggplot2移除图例_读书笔记:R语言绘图—ggplot2
  12. 利用github协作开发步骤
  13. 时空、维度,以及其他(二)
  14. 4.linux 命令行 光标移动技巧
  15. 基于FPGA ZC706的AD9371ADRV9009网口驱动配置
  16. html语言什么时候加引号,什么时候冒号后面不用引号
  17. skynet mysql 携程_有哪些小型后台服务端开源项目?
  18. 火狐Android 附加组件,Android版Firefox 85允许AMO安装附加组件
  19. Connection Backoff Interop Test Descriptions
  20. HTML基础之 HTML5新增视频和音频标签

热门文章

  1. Fibonacci斐波拉契数列----------动态规划DP
  2. 深入学习.NET Web Services概念
  3. Bailian2675 计算书费【求和】
  4. HDU2148 Score【序列处理】
  5. POJ NOI0105-32 求分数序列和
  6. CCF NOI1023 最大跨度
  7. I00033 消除游戏
  8. pandas 学习 ——Series
  9. 一题多解 —— 二项式分布的期望和方差的计算
  10. matlab 工具函数、matlab toolbox(工具箱)