Python - демонизировать скрипт бутылочного - PullRequest
3 голосов
/ 14 декабря 2011

Я использую Bootle Python Web Framework для разработки веб-приложений в Ubuntu. Есть ли эффективный способ демонтировать скрипт, который запускает веб-сервер bottlepy по умолчанию?

Спасибо.

UPD: Теперь я использую Supervisord для этих целей.

Ответы [ 3 ]

4 голосов
/ 25 февраля 2012

Как упоминает reclosedev, nohup ... & будет работать без суеты.

Вы также можете использовать что-то вроде daemonize , которое имеет больше возможностей, чем использование nohup.

Лично я запускаю следующее при разработке с включенной автозагрузкой:

while true; do python app.py ; done

, который перезапускает сервер, если я пишу что-то глупое. Другие решения заставят вас перезагрузить сервер для синтаксической ошибки.

Развертывание происходит за Apache или Lighttpd.

3 голосов
/ 25 апреля 2013

В Ubuntu я использую следующие шаги:

  1. Не забудьте вставить полный путь к шаблонам в bottle.TEMPLATE_PATH
  2. Сделать исполняемый скрипт (chmod +x <script_name>)
  3. Создание символической ссылки на скрипт без расширения .py
  4. Перейдите в /etc/init.d и скопируйте скелет в <script_symlink_name>
  5. Изменить новый скрипт инициализации
    • Изменить имя на <script_symlink_name>
    • Изменить DAEMON на <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
0 голосов
/ 28 октября 2012

Вы можете использовать supervisord или monit для запуска / остановки и перезапуска приложения.

...