Что мне нужно знать/узнать для автоматического развертывания Python?

StackOverflow https://stackoverflow.com/questions/1537298

  •  20-09-2019
  •  | 
  •  

Вопрос

Я начинаю новый проект WebApp в Python, чтобы попасть в Agile Mind Set, и я хотел бы сделать что-то «правильно» в отношении развертывания. Тем не менее, я нахожу весь VirtualEnv/Fabric/Zc.buildout/и т. Д. Столкнувшись - я привык просто FTP' -файлы PHP на сервер и указал на него веб -сервер.

После развертывания настройка сервера будет выглядеть как-то вроде:
Nginx --proxy-to--> WSGI Webserver (Spawning) --> WSGI Middleware --> WSGI App (probably MNML or similar)
с Python Webserver, управляющим Superissord.

Какие настройки развертывания/пакеты/приложения мне следует изучать? И есть ли определенная структура каталогов, которую мне нужно придерживаться моего приложения, чтобы облегчить развертывание?

Это было полезно?

Решение

Вы уже упомянули настройку, и это все, что вам нужно. Google, например, настройки для разных частей. Потребуется некоторое время, чтобы настроить его в первый раз, но затем вы можете повторно использовать настройку между различными проектами.

Пусть Superisorord запустит все, а не только с сервера Python. Затем запустите супервизируйте в перезагрузке Fron Cron или Init.d.

Другие советы

Ваша история развертывания зависит от вашего приложения. Вы используете Django? Тогда Apache + mod_wsgi Документы развертывания Сделайте хорошую отправную точку. Тогда вы можете Google, чтобы получить более подробную информацию, например, это 2-часть серии с использованием pip, virtualenv, git, а также fabric.

Действительно, fabric, virtualenv, и все эти другие инструменты предназначены для облегчения поддержания и автоматизации вашего развертывания. Первоначально шагов от документации, вероятно, достаточно. После того, как вы почувствуете, как все работает, вы можете вернуться, чтобы улучшить свой процесс.

Я слышал хорошие вещи о Ткани:

Fabric-это библиотека Python и инструмент командной строки, предназначенный для оптимизации развертывания приложений или выполнения задач администрирования системного управления с помощью протокола SSH. Он предоставляет инструменты для запуска произвольных команд оболочки (либо как обычный пользователь входа в систему, либо через sudo), загрузка и загрузка файлов и т. Д.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top