码迷,mamicode.com
首页 > 编程语言 > 详细

python3 tornado 自启动服务

时间:2018-01-23 15:49:43      阅读:1299      评论:0      收藏:0      [点我收藏+]

标签:etc   界面   第一个   关机   开机   自启动服务   python3   创建   restart   

最近用python3的tornado框架写了一个简单的服务。但是发现python本身部署的时候很不方便(好吧也许是我菜)。

tornado本身自带了web服务,所以只要直接执行脚本就能运行,但是感觉管理起来并不方便所以自己写了一个服务用systemctl来管理,这样可以开机自动启动。

我这里使用的是python3。自己记录一下简单的部署过程:

先在/etc/init.d/目录下新建文件

vi /etc/init.d/ecs_tornado

然后附上执行权限

chmod 755 /etc/init.d/ecs_tornado

文件内容:


#!/bin/sh
# chkconfig: 123456 90 10
# Server for AliYun Create ECS

daemon_start() {
    cd /aliECS_tornado
    /usr/local/bin/python3 /aliECS_tornado/server.py &
    echo "Server is running"
}

daemon_stop() {
    ps -ef|grep ‘/usr/local/bin/python3 /aliECS_tornado/server.py‘|grep -v grep|cut -c 9-15|xargs kill
    echo "Server is closed"
}

case "$1" in
  start)
    daemon_start
    ;;
  stop)
    daemon_stop
    ;;
  restart)
    daemon_stop
    daemon_start
    ;;
  *)
    echo "Usage: /etc/init.d/ecs_tornado {start|stop|restart}"
    exit 1
esac
exit 0

#!/bin/sh #shell脚本就是这样写。就是一个声明自己是什么代码。
chkconfig: 123456 90 10
    123456 告诉chkconfig程序需要注册的程序在那个等级(一般写2345就够了)
等级0表示:表示关机
      等级1表示:单用户模式
      等级2表示:无网络连接的多用户命令行模式
      等级3表示:有网络连接的多用户命令行模式
      等级4表示:不可用
      等级5表示:带图形界面的多用户模式
      等级6表示:重新启动
    90在/etc/rc.d/路径下的rc0.d-rc6.d目录下创建名字为 S90+文件名的文件连接(S90ecs_tornado),连接到/etc/rc.d/init.d目录下的的脚本。第一个字符是S,系统在启动的时候,就会添加一个start参数。
    10在/etc/rc.d/路径下的rc0.d目录下创建名字为 K10+文件名的文件连接(K10ecs_tornado)第一个字符为K,系统在关闭系统的时候,会运行添加一个stop。
daemon_start()和daemon_stop()内都是标准的shell语句。用python启动tornado的web服务器已经kill掉python的进程。

chkconfig --add ecs_tornado
添加(注册)服务
chkconfig ecs_tornado on
启动服务

完事收工。

python3 tornado 自启动服务

标签:etc   界面   第一个   关机   开机   自启动服务   python3   创建   restart   

原文地址:https://www.cnblogs.com/colinshi/p/8335646.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!