[系统运维]Supervisord安装和启动程序
supervisord
- 是client/server 系统
- 把不是守护进程的进程变成守护进程
- 监控它自己启动的进程,类似于看门狗
- 可以作为开机启动的一种封装
- 可以精确控制进程的状态,而不是pidfile那么不准确
安装
说白了就是个python包,官方文档,我这里系统是centos6.5 root用户
pip install supervisor
一般安装完的时候显示安装路径,如果不在bin路径,就自己添加一个软连接
配置文件在 /etc/supervisord.conf
我这里安装之后没有发现,我先到安装目录下找找,没有在自己创建那个文件,如果启动没有找
到就在启动命令中添加配置文件路径。
配置
supervisord 提供了一个模板文件,执行下面shell文件或者输出到文件中,改改就可以用了
echo_supervisord_conf #或者 echo_supervisord_conf > supervisord.conf
不过模板文件有点太多了,我们还是按照文档写点程序来配置把,这次的目标是启动一个django开发
服务器并且让他成为一个独立进程,可以控制这个进程。
建立一个最简单的django,并可以启动
[root@localhost ~]# pip install -i http://pypi.douban.com/simple django==1.6 [root@localhost ~]# su - lzz [lzz@localhost ~]$ django-admin.py startproject lzztest [lzz@localhost ~]$ cd lzztest/ [lzz@localhost lzztest]$ python manage.py runserver 8000 #看到可以正常启动,crtl+c关闭 [lzz@localhost lzztest]$ exit #切会到root用户下
编辑supervisord文件 文件的内容如下(有错误),文件的位置就是root的home路径 /root
user=lzz command=/usr/bin/python /home/lzz/lzztest/manage.py runserver 8000 autostart=true autorestart=true stderr_logfile=/home/lzz/lzztest/logs/err.log stdout_logfile=/home/lzz/lzztest/logs/out.log stopsignal=INT
启动下观察效果,出现了一个错误。
[root@localhost ~]# supervisord -c ./supervisord.conf Error: .ini file does not include supervisord section For help, use /usr/bin/supervisord -h
意思是少了 [supervisrod] 配置项,可以参考 supervisord-section-settings, 修改配置文件如下,还有log文件最好先建立好,supervisord不会自己创建。
[program:djangotest] user=lzz command=/usr/bin/python /home/lzz/lzztest/manage.py runserver 8000 autostart=true autorestart=true stderr_logfile=/home/lzz/lzztest/logs/err.log stdout_logfile=/home/lzz/lzztest/logs/out.log stopsignal=INT [supervisord]
再次启动:
[root@localhost ~]# supervisord -c /root/supervisord.conf
正常启动了,我们来看下进程: ps -efH|grep python
root 26253 1 0 02:57 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /root/supervisord.conflzz 26254 26253 0 02:57 ? 00:00:00 /usr/bin/python /home/lzz/lzztest/manage.py runserver 8000lzz 26255 26254 1 02:57 ? 00:00:01 /usr/bin/python /home/lzz/lzztest/manage.py runserver 8000
终端关闭,重新打开别的终端可以看到进程正常。
实验基本成功,后面进程之间关系,怎么自动启动和停止被控制的程序等以后在深入研究下。
参考:
本文出自 “orangleliu笔记本”博客,转载请务必保留此出处http://blog.csdn.net/orangleliu/article/details/41317887
作者: orangleliu
[系统运维]Supervisord安装和启动程序的更多相关文章
- Linux系统运维笔记(五),CentOS 6.4安装java程序
Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选 ru ...
- Linux系统运维笔记(四),CentOS 6.4安装Nginx
Linux系统运维笔记(四),CentOS 6.4安装Nginx 1,安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool op ...
- Linux系统运维笔记(四),CentOS 6.4安装 MongoDB
Linux系统运维笔记(四),CentOS 6.4安装 MongoDB 1,下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6 ...
- Linux系统运维相关的面试题 (问答题)
这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题. 一.Linux操作系统知识 1.常见的Linux发行版本都有 ...
- 解决CentOS无法显示中文字体 | 系统运维 | Web2.0
解决CentOS无法显示中文字体 | 系统运维 | Web2.0 About Me 博客园 devops 前端 张家港水蜜桃 傍晚好! 2013年09月12日 17:56:08 ...
- 浅谈Linux系统运维工程师必备技能
一.什么是运维工程师 相信读者们必定听说过Linux,也听说过运维工程师.那么运维工程师是个什么概念呢? 百度百科上的官方解释如下: 运维工程师(Operations)在国内又称为运维开发工程师(De ...
- Linux系统运维笔记(一),查看系统版本和设置系统时间
Linux系统运维笔记 查看系统版本和设置系统时间 查看系统版本 lsb_release -a (适用于所有的linux,包括Redhat.SuSE.Debian等发行版,但是在debian下要安装l ...
- 7.学完linux系统运维到底可以做什么?
linux运维到底可以做什么?(略有改动原文.排版) 运维,很容易从字面理解为运营.维护. 很多朋友认为,在互联网公司中linux系统运维的工作就是安装系统,部署服务.处理紧急故障,为公司里的开发人员 ...
- Archlinux系统运维
本文将针对Archlinux下的系统运维进行介绍. 内核相关 查看当前内核版本 123 uname -r------------------------------------------------ ...
随机推荐
- 【SQL.基础构建-第一节(1/4)】
-- Tips:数据库与sql-- 一.What's 数据库-- 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.-- ...
- [LeetCode] Employee Free Time 职员的空闲时间
We are given a list schedule of employees, which represents the working time for each employee. Each ...
- Unity3D UGUI 自动调节大小
可添加以下组件 组件包含的两个枚举参数,可以自行设定适应方式. 例如一个Text UI元素,当文字过多的时候他不会自动增加高度而导致文字不能完全显示,这时候就可以挂载这个组件,如上图设置参数,就可以自 ...
- 小白学习java设计模式之策略模式
策略模式:1.分析项目中的变化部分与不变部分(每个设计模式都要分析的)2.多用组合少用继承;用行为类组合,而不是行为继承,更具有弹性直接上代码: package com.wz.oneStrategis ...
- c#之异步Socket通信
0.基于上一篇的c#之Socket(同步)通信,在几个大神评论之后,发现是有挺多地方不足的,所以写了一个改进版本的基于c#的异步Socket通信.再加深一下对Socket的使用和理解.其中客户端和服务 ...
- 计蒜客NOIP模拟赛5 D1T1 机智的 AmyZhi
那年一个雨季,AmyZhi 在校门外弯身买参考书. 这时 SiriusRen 走过来,一言不合甩给她一道“自认为”很难的题: --------------- 给你一个数字 NN(NN 的范围是 11 ...
- 【USACO Feb 2014】Cow Decathlon
题目描述 约翰有 N 头奶牛,组成了一直队伍参加全能比赛.比赛一共有 N 项,每头奶牛必须参加一项比 赛,每项比赛也必须有一头奶牛参加.任何一头奶牛可以胜任任何一项比赛,但得分不一样.如果第 i 头奶 ...
- 【bzoj4443 scoi2015】小凸玩矩阵
题目描述 小凸和小方是好朋友,小方给了小凸一个 nn × mm (n \leq m)(n≤m) 的矩阵 AA ,并且要求小凸从矩阵中选出 nn 个数,其中任意两个数都不能在同一行或者同一列.现在小凸想 ...
- 【TCP网络协议问题】
题目描述 在如今的网络中,TCP 是一种被广泛使用的网络协议,它在传输层提供了可靠的通信服务.众所周知,网络是存在时延的,例如用户先后向服务器发送了两个指令 op1 和 op2,并且希望服务器先处理指 ...
- Linux文件系统的介绍
1.Linux的文件系统是一个典型的树形结构,只有一个根节点 如下图: 2.在Linux中一切皆文件 Linux 对数据文件(.mp3..bmp),程序文件(.c..h.*.o),设备文件(LCD.触 ...