这是我自己遇到的问题,分享下,不知道有没有同样错误的同学。
首先当然先要安装完成dotnet和Supervisor:
dotnet:
https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial
Supervisor:
https://blog.csdn.net/donggege214/article/details/80264811
个人推荐,你们也能可以自己找找其他的文章
1.打开/etc/supervisord.conf 进行配置;
2.打开配置文件后你会看到[include] files = supervisord.d/*.ini(后缀或者.conf) 意思就是关联对应的配置文件下面后缀为.ini的所有配置文件,如果你是直接编辑的/etc/supervisord.conf文件,那就找到/ect/supervisord.d文件在里面建一个后缀.ini的配置文件,然后进行配置
3.在/ect/supervisord.d的文件夹下面新建好配置文件,配置如下代码
[program:
项目名称
]
command=dotnet
项目名称.dll
directory=/home/wwwroot/publish/
autorestart=true
autorestart=true
stderr_logfile=/var/log/
项目名称.
err.log
stdout_logfile=/var/log/
项目名称
.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
startsecs=1
4. 完成配置后保存, 用命令:‘supervisorctl’ 启动配置文件,
我建立的配置文件是:IdentityTest.ini
,但是报错,:cant't find command 'dotnet', 找不到dotnet命令
5.网上大多数是配置有问题或者是dotnet没有安装好,其实也不一定;然后找了好久,找到一个方式:
第一步:cd /etc/supervisord.d/ 到该目录下,因为配置文件在这个目录下;
第二步:systemctl start supervisord.service 启动supervisord服务,这步骤其实蛮尴尬,supervisord.service服务我做了开机启动,我也检查过,开机是正常启动的;但是在这里还是要用这条命令启动一次;
第三步:supervisorctl start IdentityTest 启动自己写的配置服务,就成功了;
做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下。
结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又该怎么敏捷的解决。
下面按照监控的方法依次介绍。
一、按照进程名监控
在腾讯内部所有server都是要打包发布的,而在打包过程中是需要填写要监控的进程名,然后在crontab中定时通过ps查询进程是否存在。
这种方法是比较简单的方法,但是考虑到很多进程会在
启动
之后改名,以及进程名存在各种特殊字符,多个进程同时存在的问题,实际操作起来并不是很舒服。
克隆存档。
git clone https://github.com/sveneisenschmidt/
supervisor
-web.git
cd ./
supervisor
-web
复制默认配置并根据您的需要进行调整。
cp config.json.dist config.json
"
supervisor
.host " : "
supervisor
-host.intern " ,
"
supervisor
.port " : 9001 ,
"
supervisor
.user " : " username " ,
"
supervisor
.pass " : " password "
获取 composer 并安装所有依赖项。
curl -sS https://get
xshell的root模式下
启动
java程序
报错
找不到java环境,折磨一整天。PATH里面的路径一定不能写错,不然root模式下会找不到java环境。还要在vim /etc/environment文件里配置!除了在vim /etc/profile文件里配置环境。在这之前我已经下载并解压好了jdk到自定义的目录。最后别忘了 执行以下命令,使修改立即生效。
Supervisor
事件通知, 支持邮件, Slack, WebHook
Supervisor
是*nix环境下的进程管理工具, 可以把前台进程转换为守护进程, 当进程异常退出时自动重启.
supervisor
-event-listener监听进程异常退出事件, 并发送通知.
go get -u github.com/ouqiang/
supervisor
-event-listener
Supervisor
配置
[eventlistener:
supervisor
-event-listener]
; 默认读取配置文件/etc/
supervisor
-event-listener.ini
command
=/path/to/
supervisor
-event-listener
; 指定配置文件路径
;
command
=/path/t
在
Supervisor
启动
dotnet
报错
:can't find
command
'
dotnet
' 文章中说到检查开机
启动
服务,就顺便开个帖子,把查询方式贴给大家:
1.systemctl list-unit-files 查看
启动
项
左边是服务名称,右边是状态,enabled是开机
启动
,disabled是开机不
启动
2.systemctl list-unit-files | grep ...
配置文件命令为:
command
= java -jar xxx.jar
启动
就显示can’t find
command
‘java’ 但是java是加入了环境变量的 怀疑
supervisor
运行环境不一样导致的
将原命令更改为在
启动
之前先激活环境变量
command
= /bin/bash -c 'source "$0...
# 添加epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum clean all
yum makecache
yum install
supervisor
-y
# 默认配置文件
/etc/super...
err
or:can't find
command
'linux'
err
or: can't find commamd 'initrd'!
装了CentOS,ArchLinux,Ubuntu和Win10多系统,今天开机发现Arch和Ubuntu进不去了! Win10和CentOS正常,可是刚装完Centos的时候并没有无法
启动
的情况,上Bing搜了一下好像没有解决办法 偶然看到一个老外的回答,
服务器重新
启动
后,需要将上面的服务也都跑起来,我们的一个 Node.js 的项目是用
supervisor
来管理的,首先
启动
supervisor
,可是,,却报出了如下错误:
unix:///tmp/
supervisor
.sock refused connection对于这个问题,以下文章给出了很好的解决办法:
http://www.cashqian.net/blog/00147297551
1、问题描述
相信很多用
supervisor
进行运维监控的小伙伴都是从网上找到的文章进行安装部署和使用的,所以遇到一些奇葩问题也很难找到原因,我会针对
supervisor
做一个专题进行,我踩过的坑,大家就不要再踩了。
言归正传,首先
supervisor
安装好后,发现也都按正常网文教程进行安装,并且监控都正常
启动
情况,为何用
supervisor
ctl 进行一些操作会
报错
,如:
supervisor
ctl status 进行查看状态也会
报错
, 或者
supervisor
ctl reload进行重启也会
报错
,甚至su