用supervisorctl 监控java进程日记

简介:

安装supervisorctl
依赖
38 yum install readline readline-devel readline-static -y
39 yum install openssl openssl-devel openssl-static -y
40 yum install sqlite-devel -y
41 yum install bzip2-devel bzip2-libs -y

[root@jiaxin-ceshi nginx-1.14.0]# yum -y install supervisor
[root@jiaxin-ceshi nginx-1.14.0]# supervisorctl 
unix:///var/run/supervisor/supervisor.sock no such file
supervisor>

启动supervisorctl

[root@jiaxin-ceshi nginx-1.14.0]# yum install python-setuptools

[root@jiaxin-ceshi nginx-1.14.0]# easy_install supervisor

[root@jiaxin-ceshi nginx-1.14.0]# yum install python-setuptools
[root@jiaxin-ceshi nginx-1.14.0]# mkdir /etc/supervisor

[root@jiaxin-ceshi nginx-1.14.0]# echo_supervisord_conf > /etc/supervisor/supervisord.conf

启动

[root@jiaxin-ceshi nginx-1.14.0]# supervisord -c /etc/supervisor/supervisord.conf
[root@jiaxin-ceshi nginx-1.14.0]# vim /etc/supervisor/supervisord.conf
[program:eatjoys-prd-dobot]
;environment=PATH="/opt/py3/bin:%(ENV_PATH)s"
directory=/work/product/eatjoys-prd-dobot
command=java   -Xmn256m -Xms384m -Xmx512m  -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib  com.yutuoit.framework.start.StartWebApp -console -app=eatjoys-prd-dobot
autostart=true
autorestart=true
stdout_logfile=/work/var/logs/eatjoys-prd-dobot.log
stderr_logfile=/work/var/logs/eatjoys-prd-dobot.error

创建对应目录

[root@jiaxin-ceshi nginx-1.14.0]# mkdir -p /work/var/logs
[root@jiaxin-ceshi nginx-1.14.0]# mkdir /work/product/
[root@jiaxin-ceshi nginx-1.14.0]# cd /work/product/
拉取代码从gitlab上面
[root@jiaxin-ceshi product]# yum -y install git
[root@jiaxin-ceshi product]# git clone git@192.168.19.18:eatjoys-java/eatjoys-prd-dobot.git
[root@jiaxin-ceshi nginx-1.14.0]# supervisorctl 
supervisor> help

default commands (type help <topic>):
=====================================
add    exit      open  reload  restart   start   tail   
avail  fg        pid   remove  shutdown  status  update 
clear  maintail  quit  reread  signal    stop    version

记得打包

我直接从开发服务器上拉取代码
[program:eatjoys-prd-micro]
;environment=PATH="/opt/py3/bin:%(ENV_PATH)s"
directory=/work/product/eatjoys-prd-micro
command=java -Xmn256m -Xms384m -Xmx512m -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib com.yutuoit.framework.start.StartWebApp -console -app=eatjoys-prd-micro
autostart=true
autorestart=true
stdout_logfile=/work/var/logs/eatjoys-prd-micro.log
stderr_logfile=/work/var/logs/eatjoys-prd-micro.error
添加

[root@jiaxin-ceshi work]# vim /etc/supervisor/supervisord.conf
[program:eatjoys-biz-micro]
;environment=PATH="/opt/py3/bin:%(ENV_PATH)s"
directory=/work/service/eatjoys-biz-micro
command=java   -Xmn256m -Xms384m -Xmx512m  -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 -Djava.ext.dirs=./lib  com.yutuoit.framework.start.StartService -console -app=eatjoys-biz-micro
autostart=true
autorestart=true
stdout_logfile=/work/var/logs/eatjoys-biz-micro.log
stderr_logfile=/work/var/logs/eatjoys-biz-micro.log

[root@jiaxin-ceshi work]# supervisorctl

安装jdk
eatjoys-prd-dobot FATAL can't find command 'java'
supervisor> reread
eatjoys-biz-micro: available
eatjoys-prd-dobot: disappeared
eatjoys-prd-micro: available
supervisor> update eatjoys-biz-micro
eatjoys-biz-micro: added process group
supervisor> update eatjoys-prd-micro
eatjoys-prd-micro: added process group
supervisor> update eatjoys-prd-dobot
eatjoys-prd-dobot: stopped
eatjoys-prd-dobot: removed process group
supervisor> status
eatjoys-biz-micro FATAL can't find command 'java'
eatjoys-prd-micro FATAL can't find command 'java'
supervisor>
安装jdk
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html官网下载

[root@jiaxin-ceshi src]# cd /usr/local/src/

[root@jiaxin-ceshi src]# wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz?AuthParam=1540886052_792749b01264f3dd04765afaf48aa4cf

解压并设置环境变量
[root@jiaxin-ceshi src]# vim /etc/profile

###############JDK1.8######################
JAVA_HOME=/usr/local/jdk1.8.0_172
JRE_HOME=/usr/local/jdk1.8.0_172/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
[root@jiaxin-ceshi src]# source /etc/profile

[root@jiaxin-ceshi src]# java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

[root@jiaxin-ceshi src]# supervisorctl
eatjoys-biz-micro FATAL can't find command 'java'
eatjoys-prd-micro FATAL can't find command 'java'
supervisor> restart all
eatjoys-prd-micro: ERROR (no such file)
eatjoys-biz-micro: ERROR (no such file)
supervisor>

[root@jiaxin-ceshi ~]# vim /etc/rc.local 

/usr/bin/supervisord  -c /etc/supervisor/supervisord.conf
[root@jiaxin-ceshi ~]# supervisorctl 
eatjoys-biz-micro                RUNNING   pid 1254, uptime 0:01:27
eatjoys-prd-micro                FATAL     Exited too quickly (process log may have details)
supervisor>
相关文章
|
16天前
|
Java 程序员 调度
【JAVA 并发秘籍】进程、线程、协程:揭秘并发编程的终极武器!
【8月更文挑战第25天】本文以问答形式深入探讨了并发编程中的核心概念——进程、线程与协程,并详细介绍了它们在Java中的应用。文章不仅解释了每个概念的基本原理及其差异,还提供了实用的示例代码,帮助读者理解如何在Java环境中实现这些并发机制。无论你是希望提高编程技能的专业开发者,还是准备技术面试的求职者,都能从本文获得有价值的见解。
32 1
|
12天前
|
数据采集 监控 API
如何监控一个程序的运行情况,然后视情况将进程杀死并重启
这篇文章介绍了如何使用Python的psutil和subprocess库监控程序运行情况,并在程序异常时自动重启,包括多进程通信和使用日志文件进行断点重续的方法。
|
11天前
|
消息中间件 算法 Java
深入浅出操作系统:进程管理的艺术掌握Java中的异常处理机制
【8月更文挑战第30天】在数字世界的舞台上,操作系统扮演着导演的角色,精心安排着每一个进程的表演。本文将揭开进程管理的神秘面纱,从进程的诞生到终结,探究它们如何在操作系统的指挥下和谐共舞。通过生动的比喻和直观的代码示例,我们将一同走进操作系统的核心,理解进程调度、同步与通信的内在机制,以及它们对计算生态的重要性。让我们跟随代码的节奏,一起感受操作系统的魅力吧!
|
17天前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
10天前
|
C# 开发者 数据处理
WPF开发者必备秘籍:深度解析数据网格最佳实践,轻松玩转数据展示与编辑大揭秘!
【8月更文挑战第31天】数据网格控件是WPF应用程序中展示和编辑数据的关键组件,提供排序、筛选等功能,显著提升用户体验。本文探讨WPF中数据网格的最佳实践,通过DevExpress DataGrid示例介绍其集成方法,包括添加引用、定义数据模型及XAML配置。通过遵循数据绑定、性能优化、自定义列等最佳实践,可大幅提升数据处理效率和用户体验。
25 0
|
19天前
|
消息中间件 安全 Java
Java 中的线程与进程之区别
【8月更文挑战第22天】
65 0
|
2月前
|
Java 运维
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
开发与运维命令问题之使用jstack命令查看Java进程的线程栈如何解决
43 2
|
2月前
|
缓存 Prometheus 监控
Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
Java面试题:如何监控和优化JVM的内存使用?详细讲解内存调优的几种方法
64 3
|
2月前
|
Java 调度 Windows
Java面试之程序、进程、线程、管程和并发、并行的概念
Java面试之程序、进程、线程、管程和并发、并行的概念
21 0
|
2月前
|
运维 关系型数据库 MySQL
掌握taskset:优化你的Linux进程,提升系统性能
在多核处理器成为现代计算标准的今天,运维人员和性能调优人员面临着如何有效利用这些处理能力的挑战。优化进程运行的位置不仅可以提高性能,还能更好地管理和分配系统资源。 其中,taskset命令是一个强大的工具,它允许管理员将进程绑定到特定的CPU核心,减少上下文切换的开销,从而提升整体效率。
掌握taskset:优化你的Linux进程,提升系统性能
下一篇
DDNS