Spring Boot开发web应用就像开发普通的java程序一般简洁,因为其内嵌了web容易,启动的时候只需要一条命令java -jar server.jar即可,非常方便。
但是由此而来的问题是万一应用挂了怎么办?

别担心,有pm2进程管理工具可以帮到你。

PM2简介

pm2原先是nodejs应用的进程管理工具,不过其良好的设计以及扩展性可以手动执行执行进程。

PM2安装

1.安装NodeJs

npm install pm2 -g

  

PM2基本命令

  • pm2 list 查看所有被PM2管理的进程列表
  • pm2 start xxx 启动一个应用
  • pm2 stop xxx 停止一个应用
  • pm2 restart xxx 重启一个应用
  • pm2 describe xxx 查看应用详情
  • pm2 startup, pm2 save 两条命令,用来保证服务器启动时,pm2管理的程序自动运行

Java程序处理

在jar的同级目录新建应用启动配置文件,如pm2.json,内容如下:

{
"name": "my-server",
"script": "/usr/bin/java",
"args": [
"-jar",
"server.jar"
],
"exec_interpreter": "",
"exec_mode": "fork"
}

说明如下:

  • name 进程名称(显示在pm2 list命令中)
  • script 执行进程名称,如果需要执行PHP脚本则填写php解释器的路径,本文为java
  • args 传给执行进程的参数,多个参数以数组单元分割
  • exec_interpreter NodeJs解析器,本文不适用
  • exec_mode 执行模式[cluster|fork]这个针对NodeJs应用的配置,非NodeJs应用统一fork

配置文件完成后,使用

pm2 start pm2.json

  即可看到应用被启动

日志管理

日志路径在~/.pm2/logsstdoutstderr被分开存放,程序中的所有stdoutstderr都被收集方便查错。

cat project-cogrowth-api.json

{
"name": "cogrowth-api",
"script": "java",
"args": [
"-Xms64m",
"-Xmx512m",
"-Dspring.profiles.active=pub",
"-jar",
"cogrowth-api-1.0.jar",
],
"exec_interpreter": "",
"exec_mode": "fork"
}

最新文章

  1. ASP.NET Aries 入门开发教程9:业务表单的开发
  2. C# 中的as和is小结
  3. iframe中的jquery ui modal dialog 覆盖父窗口
  4. BZOJ 1014: [JSOI2008]火星人prefix Splay+二分
  5. Selenium firefox 版本问题
  6. mysql binlog参数设置
  7. CentOS中使用shell的命令补全
  8. php 基础篇 php 进阶篇
  9. getstyle() 获取样式
  10. 简单的记录,VMware Tools的安装
  11. Win10电脑经常自动掉线、自动断网的解决方法
  12. Linux kernel的中断子系统之(二):IRQ Domain介绍
  13. python中的单向循环链表实现
  14. JS的string操作
  15. java 选择排序、冒泡排序、折半查找
  16. C++调用openssl实现DES加密解密cbc模式 zeropadding填充方式 pkcs5padding填充方式 pkcs7padding填充方式
  17. np.hsplit()
  18. Postgresql监控pgwatch的搭建
  19. Java中Integer类的方法和request的setAttribute方法的使用与理解
  20. Python之单例模式总结

热门文章

  1. 【CUDA】Windows 下常用函数头文件
  2. mysql安装和启动
  3. VLC的一些接口
  4. coursera-斯坦福-机器学习-吴恩达-笔记week1
  5. CCF关于NOIP复赛网络申诉问题的公告
  6. prototype和__proto__的关系是什么
  7. Flex 布局语法教程
  8. Python随笔--序列
  9. Android : 跟我学Binder --- (2) AIDL分析及手动实现
  10. Centos7配置TiDB集群