supervisord

解放程序员双手之Supervisor

生来就可爱ヽ(ⅴ<●) 提交于 2020-11-20 08:38:54
前言 对于大部分程序员来说,主要工作都是进行编码以及一些简单的中间件安装,这就导致了很多人对于“运维”相关的工作会比较生疏。例如当我们拥有一台自己的服务器以后,可能会在上面跑一跑自己blog程序,mysql,nginx等等。当程序越来越多了没有一个统一的入口管理启停,也可能会遇到一些特殊的原因导致程序被kill掉了,这时候又没装相关的监控程序或者脚本(太麻烦了懒得装,机器配置差不想装),所以只能当我们访问自己程序发现异常的时候才会登上服务器查找原因。 这些状况对我们来说是比较麻烦的,那么这就需要一个“神器”来解放我们的双手,铛铛铛!! Supervisor 就来了。 正文 Supervisor 介绍 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。 supervisor 安装 简单粗暴 yum install supervisor -y supervisor 配置说明 通过这种形式安装的supervisor

Docker中使用supervisor管理开机自启动(redis && sshd)

拜拜、爱过 提交于 2020-10-25 12:33:52
1、Centos安装Redis参考 http://blog.csdn.net/lsziri/article/details/69389187 2、Dockerfile # Docker for CentOS 7 #Base image FROM hfq/centos7:Jurassic RUN \ wget http://download.redis.io/releases/redis-3.2.8.tar.gz && tar xzf redis-3.2.8.tar.gz \ && cd redis-3.2.8 && yum -y install tcl && make && make install \ && mkdir -p /etc/redis/ #安装supervisor=============================重点================================= RUN yum -y install python-setuptools RUN easy_install supervisor ADD redis.conf /etc/redis/redis.conf ADD supervisord.conf /etc/supervisord.conf EXPOSE 6379 EXPOSE 12007 CMD /usr/bin

supervisord + docker run = web页面管理运行的docker

守給你的承諾、 提交于 2020-10-25 02:26:55
周末了,整理下自己的测试系统,里面的东西还真不少,soft站点,ims(django开发的),registry,owncloud等等。想着,是不是可以都放到supervisord上面,这个机器里面运行了多少软件,一目了然,重启也方便,所以今天重点想着把docker运行的owncloud、registry、reg-ui的启动放到supervisord里面去。 遇到的问题如下 问题1 docker cannot enable tty mode on non tty input 问题2 The name “registry-web” is already in use by container 55509d67a62a 问题3 2017-01-13 15:45:23,659 DEBG ‘reg-ui’ stderr output: Error response from daemon: Cannot start container 361cabf20764f949ef225334ad980be54ef5cea0ec0a4137fa371513c771d3f4: Cannot link to a non running container: /registry AS /registry-web/registry 解决的方法 当然,还是要看supervisord的日志

关于django的一些记录

谁说我不能喝 提交于 2020-10-23 07:23:56
1.当settings.py文件设置DEBUG = True无法加载静态文件问题。 解决方法: 1.用nginx或者apache代理静态资源/staic/ 2.使用django.views.static.serve()方法。在URLconf中添加: (r'^site_media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': '/path/to/media'}), 3.(!推荐)改变项目运行方式,在启动时加入 --insecure参数。 python manage.py runserver --insecure 2.当使用supervisord管理django的时候发现启动了两个进程,出现无法使用supervisord管理的情况。 原因:使用 python manage.py runserve,django会自动fork一个子进程。 解决方法:使用python manage.py runserver --noreload启动进程,但是这样之后,修改代码之后必须重启django才会生效! 来源: oschina 链接: https://my.oschina.net/u/4402117/blog/4293533

MongoDB迁移数据到Elasticsearch真实操作案例

江枫思渺然 提交于 2020-10-19 09:57:08
· 需求 1、迁移MongoDB中的存量数据到Elasticsearch 2、增量数据业务方会写到MongoDB,但数据变更也要实时同步到Elasticsearch 经过数日的工具特性和我的需求对比之后,我选择了monstache来完成这次的需求。不言而喻,它可以满足我前面提到的需求。 调试过程 1、选择适合你的monstache版本(符合你的es版本、mongodb版本) 版本参考如下: 我的各个版本如下: es: 6.7.0 mongo: 3.2.13 所以我选择 monstache:4版本,对应master分支 2、monstache是使用golang语言开发,首先要安装go环境,需要注意的是要安装符合你monstache的go版本,怎么试?继续往下看,别着急。 我这里需要安装go1.13.6 1、安装 sudo wget https://dl.google.com/go/go1.13.6.linux-amd64.tar.gz tar -C /usr/local -xzf go1.13.6.linux-amd64.tar.gz 2、配置环境变量 vim /etc/profile ... export GOROOT=/usr/local/go export GOPATH=/home/go/ export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Elasticasearch Web管理工具-Cerebro

南笙酒味 提交于 2020-10-14 10:58:26
Elasticasearch Web管理工具-Cerebro cerebro是一个使用Scala,Play Framework,AngularJS和Bootstrap构建的开源(MIT许可)elasticsearch web管理工具。需要Java 1.8或更高版本才能运行。 1、安装JAVA环境 tar -xzvf jdk-8u121-linux-x64.tar.gz -C /data 配置环境 /etc/profile文件中添加 export JAVA_HOME=/data/jdk1.8.0_121 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin 重载文件 source /etc/profile 2、安装Cerebro 下载插件 https://github.com/lmenezes/cerebro/releases/download/v0.8.3/cerebro-0.8.3.zip unzip cerebro-0.8.3.zip 配置文件application.conf hosts = [ { host = "http://10.10.18.10:9200" #es集群中任意一台