supervisord

supervisor安装/配置

孤人 提交于 2019-12-01 09:41:22
一丶介绍 为了保证web项目一直处于运行状态,在程序遇到异常丶报错时,立即重启服务 二丶简介 supervisor是使用python编写的一个进程管理工具,可以在linux系统下启动,重启,关闭进程 三丶安装 1.源码安装:https://pypi.python.org/pypi/supervisor >>>cd /usr/local/src >>>wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419ea/supervisor-3.3.2.tar.gz >>>tar -zxvf supervisor-3.3.2.tar.gz 2.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf 3.启动:supervisord -c /etc/supervisord.conf 四丶Supervisor 配置 Supervisor 是一个 C/S 模型的程序, supervisord 是 server 端, supervisorctl 是 client 端。 1.supervisor配置 # vim /etc/supervisord.conf # 配置文件底部,配置include [include

Supervisor使用

梦想的初衷 提交于 2019-12-01 07:19:51
一、supervisor简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。 注:本文以centos7为例。 二、supervisor安装 配置好yum源后,可以直接安装 yum install supervisor Debian/Ubuntu可通过apt安装 apt-get install supervisor pip安装 pip install supervisor easy_install安装 easy_install supervisor 三、supervisor使用 supervisor配置文件: /etc/supervisord.conf *注:supervisor的配置文件默认是不全的,不过在大部分默认的情况下,上面说的基本功能已经满足。*

安装supervisor

孤街浪徒 提交于 2019-12-01 07:19:46
安装 supervisor 在 centOS6.8 下安装 supervisor , 下载 setuptools wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python 然后输入 sudo 密码 到安装完成即可 安装supervisor 进入 root 执行 easy_install supervisor 安装完成即可 离线安装 tar -xvf meld3-1.0.2.tar.gz 进入解压目录 python setup.py install tar -xvf supervisor-3.3.1.tar.gz 进入解压目录 python setup.py install 即可。 在 Ubuntu 下直接 apt-get sudo apt-get install supervisor 安装即可 3 .生成 supervisor.conf mkdir -p /etc/supervisor/conf.d 初始化supervisord.conf echo_supervisord_conf > /etc/supervisor/supervisord.conf 修改 supervisord.conf vim /etc/supervisor/supervisord.conf 配置

Docker实战(十一):Docker安装ELK环境(二)

房东的猫 提交于 2019-12-01 06:56:16
Docker安装ELK环境(二) 日志收集系统架构 https://www.elastic.co/guide/en/logstash/current/deploying-and-scaling.html http://dockone.io/article/505#rd?sukey=fc78a68049a14bb21970769bd4cdecc8f803567ce85b9148150a8f086c5ea01b195498f33b858ddf9c93183f1c09d255 http://mp.weixin.qq.com/s?__biz=MzA4NDM0OTQ0NA==&mid=400670251&idx=1&sn=dec80ffddf9b6b0619a89605c397a2c2&scene=1&srcid=1201EdUMaGhzFetS4f7Pe8QX&key=ac89cba618d2d9767d9841c0e75232b77db8e3d08ed0c4bd45b9796dc6c27292d6f9776642a755bcf64dfeededbede63&ascene=0&uin=OTIxOTMxODgw&devicetype=iMac+MacBookPro12%2C1+OSX+OSX+10.10.3+build(14D136)&version=11020201&pass_ticket

Docker实战(四):Docker安装JDK

半世苍凉 提交于 2019-12-01 06:55:46
Docker安装JDK 安装JDK7和JDK8基本没有区别,只是Dockerfile有所不同,但是他们都继承了之前tools的Docker镜像,下面给出了JDK7和JDK8的Dockerfile源文件。 大概步骤: 上传jdk7到宿主机 编写Dockerfile构建镜像 编写supervisor配置文件 build和run # 方式一:可以通过ssh上传指定版本的jdk(这里选择第一种) # 1. 上传jdk7到宿主机 # 2. 将jdk7都解压到指定的目录下(和Dockerfile文件同目录) # 方式二:从官网或者镜像网站下载jdk7 Dockerfile文件 ###### ###### ###### ###### ###### ###### ###### ## # version : birdben/jdk7:v1 # desc : 当前版本安装的jdk7 ###### ###### ###### ###### ###### ###### ###### ## # 设置继承自我们创建的 tools 镜像 FROM birdben/ tools :v1 # 下面是一些创建者的基本信息 MAINTAINER birdben ( 191654006 @ 163. com) # 设置环境变量,所有操作都是非交互式的 ENV DEBIAN_FRONTEND noninteractive

Running celeryd_multi with supervisor

笑着哭i 提交于 2019-12-01 04:09:16
I'm working with djcelery and supervisor. I was running a celery with supervisor and everything worked fine, once I realized that I needed to change it to celery multi everything broke up. If I run celeryd_multi in a terminal it works but always run in background, like supervisor need that the command run in foreground there where the problem is. This is my celery.ini : [program:celery_{{ division }}] command = {{ virtualenv_bin_dir }}/python manage.py celeryd_multi start default mailchimp -c:mailchimp 3 -c:default 5 --loglevel=info --logfile={{ log_dir }}/celery/%n.log --pidfile={{ run_dir }}

Alternative to supervisord for docker

戏子无情 提交于 2019-11-30 20:18:16
Supervisord is really great tool even for docker environment. It helps a lot with stderr redirection and signals forwarding. But it has a couple of disadvantages: It doesn't support delayed startup. It could be useful to delay some agent startup until main app is initializing. Priority doesn't solve this issue. If some app enters FATAL state supervisord just logs it but continue to work. So you can't see it until look at logs of container. It could much more friendly if supervisord just stops because in that case you see the problem with docker ps -a So what is the best alternative to

Docker实战(十三):Docker安装MySQL数据库

荒凉一梦 提交于 2019-11-30 16:32:41
Docker安装MySQL数据库 基本步骤和之前几篇文章一样,请参考前面的相关文章 Ubuntu安装MySQL安装 ( 1 )安装编译源码需要的包 sudo apt -get install make cmake gcc g ++ bison libncurses5 -dev build -essential ( 2 )下载并解压缩 mysql - 5.6 .26 . tar . gz tar -zxvf mysql - 5.6 .26 . tar . gz cd mysql - 5.6 .26 ( 3 )编译安装 编译配置: cmake . -DCMAKE_INSTALL_PREFIX = /usr/ local /mysql -DMYSQL_DATADIR = /usr/ local /mysql/ data -DSYSCONFDIR = /etc -DWITH_INNOBASE_STORAGE_ENGINE = 1 -DWITH_ARCHIVE_STORAGE_ENGINE = 1 -DWITH_BLACKHOLE_STORAGE_ENGINE = 1 -DWITH_PARTITION_STORAGE_ENGINE = 1 -DWITH_PERFSCHEMA_STORAGE_ENGINE = 1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE = 1

使用 Nginx + Gunicorn 的方式将 django 应用部署到自己的服务器

ⅰ亾dé卋堺 提交于 2019-11-30 14:23:37
部署前准备 为了部署我们的博客,需要满足以下条件: Django项目需在Pipenv虚拟环境下建立 配置服务器 服务器环境为 CentOS 7(64 位) 创建一个超级用户 连接到远程服务器了,如果是一台全新服务器的话,通常我们是以 root 用户登录的。在 root 下部署代码不够安全,最好是建一个新用户(如果你已经以非 root 用户登录的话可以跳过这一步)。下面的一些列命令将创建一个拥有超级权限的新用户(把 zerobit 替换成你自己想要的用户名): # 在 root 用户下运行这条命令创建一个新用户,zerobit 是用户名 # 选择一个你喜欢的用户名,不一定非得和我的相同 root@server:~# adduser zerobit ​ # 为新用户设置密码 # 注意在输密码的时候不会有字符显示,不要以为键盘坏了,正常输入即可 root@server:~# passwd zerobit ​ # 把新创建的用户加入超级权限组 root@server:~# usermod -aG wheel zerobit ​ # 切换到创建的新用户 root@server:~# su - zerobit ​ # 切换成功,@符号前面已经是新用户名而不是 root 了 zerobit@server:$ 如果是新服务器的话,最好先更新一下系统,避免因为版本太旧而给后面安装软件带来麻烦

uwsgi模块

江枫思渺然 提交于 2019-11-30 13:32:57
导论 wsgi 全称web server gateway interface,wsgi不是服务器,也不是python模块,只是一种协议,描述web server如何和web application通信的规则。 运行在wsgi上的web框架有bottle,flask,django uwsgi 和wsgi一样是通信协议,是uWSGI服务器的单独协议,用于定义传输信息的类型,是一个web服务器,实现了WSGI协议,uwsgi协议。 nginx web服务器,更加安全,更好的处理处理静态资源,缓存功能,负载均衡,因此nginx的强劲性能,配合uWSGI服务器会更加安全,性能有保障。 django 高级的python web框架,用于快速开发,解决web开发的大部分麻烦,程序员可以更专注业务逻辑,无须重新造轮子 单机启动django项目,性能低,默认使用wsgiref模块,性能低的wsgi协议 python3 manager.py runserver 0.0.0.0:8000 > wsgiref模块中 高并发启动django,django是没有这个功能的,而uWSGI模块,遵循uwsgi协议,支持多进程处理django请求 uwsgi 通过他,启动你的django,而不再是python3 manager.py runserver 0.0.0.0:8000 公司中一般用 nginx +