python - daemonize bottlepy脚本

时间:2011-12-14 13:59:59

标签: python-3.x daemon bottle

我正在使用Bootle Python Web Framework在Ubuntu上开发webapps。 是否有任何有效的方法来守护启动默认的瓶装网络服务器的脚本?

谢谢。

UPD:现在我正在使用Supervisord来实现此目的。

3 个答案:

答案 0 :(得分:4)

正如reclosedev提到的那样,nohup ... &可以毫不费力地工作。

您还可以使用类似daemonize的内容,其中包含的选项多于使用nohup的内容。

我个人在开启autoreload开发时运行以下命令:

while true; do python app.py ; done

如果我写了一些愚蠢的东西,它会重新启动服务器。其他解决方案将强制您重新启动服务器以查找语法错误。

部署发生在apache或lighttpd之后。

答案 1 :(得分:3)

在ubuntu上,我使用以下步骤:

  1. 请务必将模板的完整路径插入bottle.TEMPLATE_PATH
  2. 使脚本可执行(chmod +x <script_name>
  3. 将符号链接添加到脚本w / o .py扩展名
  4. 导航到/etc/init.d并将骨架复制到<script_symlink_name>
  5. 修改新的init脚本
    • 将NAME更改为<script_symlink_name>
    • 将DAEMON更改为<path_to_script_symlink>
    • 将DAEMON_ARGS更改为“”
    • 更改说明
    • start-stop-daemon
    • 中添加“--background”切换到do_start()(无w / o“ - ”“切换)
  6. make init script executabe
  7. 通过“service <script name> start
  8. 进行测试
  9. 设置自动启动:update-rc.d <script-name> defaults

答案 2 :(得分:0)

您可以使用supervisord或monit来启动/停止并重新启动应用程序。