注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

郁夫的博客

我爱你们,只是你们不知道!

 
 
 

日志

 
 
 
 

用supervisor开机自启动gunicron 和 django 的备忘  

2013-07-24 13:44:32|  分类: Django |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
安装好Supervisor 后,用如下命令生成 Supervisor 配置,
echo_supervisord_conf
将生成内容拷贝至 /usr/local/etc/ 下新建的 supervisord.conf 文件。
(用 echo_supervisord_conf > /etc/supervisord.conf 直接创建 supervisord.conf 失败,提示是用户权限问题)

Supervisor默认会在 /etc/ 目录 和 /usr/local/etc/ 目录下搜寻 supervisord.conf 配置文件。  
在 supervisord.conf 配置文件中加入自己要启动的程序

[program:freeoa]
command=gunicorn freeoa.wsgi:application    
directory=/usr/local/hgcontrol/freeoa
user=fabricer
autostart=true
autorestart=true
redirect_stderr=True  


command 为要执行的命令
direcotory 为执行命令需要进入的路径
user 为用户 (开始使用的是创建系统时的管理员用户,竟然出错,后改为一个新建的用户,竟然通过了,大概默认不能使用管理员)

启动supervisor
sudo supervisord -n

运行命令supervisorctl 启动进程:

# supervisorctl start freeoa

停止进程:

# supervisorctl stop freeoa

果然django程序随着启动了。但是supervisor 还不能开机自启动,
根据官方推荐,觅得如下脚本

#! /bin/bash -e

SUPERVISORD=/usr/local/bin/supervisord
PIDFILE=/tmp/supervisord.pid
OPTS="-c /etc/supervisord.conf"

test -x $SUPERVISORD || exit 0

. /lib/lsb/init-functions

export PATH="${PATH:+$PATH:}/usr/local/bin:/usr/sbin:/sbin"

case "$1" in
  start)
    log_begin_msg "Starting Supervisor daemon manager..."
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
    log_end_msg 0
    ;;
  stop)
    log_begin_msg "Stopping Supervisor daemon manager..."
    start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE || log_end_msg 1
    log_end_msg 0
    ;;

  restart|reload|force-reload)
    log_begin_msg "Restarting Supervisor daemon manager..."
    start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $PIDFILE
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $SUPERVISORD -- $OPTS || log_end_msg 1
    log_end_msg 0
    ;;

  *)
    log_success_msg "Usage: /etc/init.d/supervisor
{start|stop|reload|force-reload|restart}"
    exit 1
esac

exit 0
在/etc/ini.d 下建立 supervisor 文件,拷入以上内容,然后运行
sudo chmod +x /etc/init.d/supervisord
sudo update-rc.d supervisord defaults

sudo service supervisord start
在运行第三个命令时,出现错误,大概是什莫已经在使用中之类。
重启ubuntu 再观察,django网站已经成功自动运行。
  评论这张
 
阅读(1058)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017