3

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

谢谢你。

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

4

3 回答 3

4

正如 reclosedev 提到的,nohup ... &将毫不费力地工作。

您还可以使用daemonize 之类的东西,它的选项比使用nohup.

就我个人而言,我在打开自动重载的情况下进行开发时运行以下命令:

while true; do python app.py ; done

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

部署发生在 apache 或 lighttpd 之后。

于 2012-02-25T14:00:14.180 回答
3

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

  1. 请记住将模板的完整路径插入bottle.TEMPLATE_PATH
  2. 使脚本可执行 ( chmod +x <script_name>)
  3. 将符号链接添加到不带 .py 扩展名的脚本
  4. 导航到 /etc/init.d 并将骨架复制到<script_symlink_name>
  5. 修改新的初始化脚本
    • 将 NAME 更改为<script_symlink_name>
    • 将守护进程更改为<path_to_script_symlink>
    • 将 DAEMON_ARGS 更改为 ""
    • 更改说明
    • 将“--background”开关添加到start-stop-daemon(不带“--test”开关的行)do_start()
  6. 使初始化脚本可执行
  7. 通过“ service <script name> start”测试
  8. 设置自动启动:update-rc.d <script-name> defaults
于 2013-04-25T15:33:24.360 回答
0

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

于 2012-10-27T21:07:17.143 回答