当前位置:  开发笔记 > 编程语言 > 正文

部署CherryPy(守护进程)

如何解决《部署CherryPy(守护进程)》经验,为你挑选了3个好方法。

我遵循了基本的CherryPy教程(http://www.cherrypy.org/wiki/CherryPyTutorial).没有讨论的一件事是部署.

如何启动CherryPy应用程序作为守护进程并"忘记它"?如果服务器重新启动会发生什么?

有标准食谱吗?也许会创建一个服务脚本(/etc/init.d/cherrypy ...)

谢谢!



1> lysdexia..:

Daemonizer可以非常简单易用:

# this works for cherrypy 3.1.2 on Ubuntu 10.04
from cherrypy.process.plugins import Daemonizer
# before mounting anything
Daemonizer(cherrypy.engine).subscribe()

cherrypy.tree.mount(MyDaemonApp, "/")
cherrypy.engine.start()
cherrypy.engine.block()

这里有一个体面的SOWV风格的HOWTO.

总结一下:

    /etc/init.d该调用中为您的应用程序创建一个名为的文件/bin/sh

    sudo vim /etc/init.d/MyDaemonApp

    #!/bin/sh  
    echo "Invoking MyDaemonApp";  
    /path/to/MyDaemonApp  
    echo "Started MyDaemonApp. Tremble, Ye Mighty."  
    

    让它可执行

    sudo chmod +x /etc/init.d/MyDaemonApp

    运行update-rc.d以在适当的运行时目录中创建正确的链接.

    sudo update-rc.d MyDaemonApp defaults 80

    sudo /etc/init.d/MyDaemonApp


http://tools.cherrypy.org/wiki/WindowsService正如其他地方所提到的,可以创建一个具有大致相同工作量的Windows服务.注意页面底部的日志记录位!它们很重要.
我不知道什么是'spizouzou`,但变量完全没必要.简单地说:`daemonizer(cherrypy.engine).subscribe()`和插件将持续存在,因为`engine`现在保持对它的引用.

2> Benno..:

默认情况下包含一个用于CherryPy 的Daemonizer插件,这对于启动它很有用,但到目前为止,简单案例的最简单方法是使用cherryd脚本:

> cherryd -h
Usage: cherryd [options]

Options:
  -h, --help            show this help message and exit
  -c CONFIG, --config=CONFIG
                        specify config file(s)
  -d                    run the server as a daemon
  -e ENVIRONMENT, --environment=ENVIRONMENT
                        apply the given config environment
  -f                    start a fastcgi server instead of the default HTTP
                        server
  -s                    start a scgi server instead of the default HTTP server
  -i IMPORTS, --import=IMPORTS
                        specify modules to import
  -p PIDFILE, --pidfile=PIDFILE
                        store the process id in the given file

至于init.d脚本,我认为有些例子可以用Google搜索.

cherryd可以找到:

的virtualenv/lib目录/ python2.7 /站点包/ CherryPy的/ cherryd

或者在:https://bitbucket.org/cherrypy/cherrypy/src/default/cherrypy/cherryd



3> saaj..:

我编写了一个教程/项目框架,cherrypy-webapp-skeleton,其目标是填补在Debian*上为Web开发人员部署真实的CherryPy应用程序的空白.它具有cherryd针对守护程序权限下降的扩展功能.还有对于一些重要的脚本和配置文件init.d,nginx,monit,logrotate.教程部分描述了如何将事物放在一起并最终忘记它.骨架部分提出了一种可能安排CherryPy webapp项目资产的方法.


*它是为Squeeze编写的,但实际上它应该与Wheezy相同.

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有