2016-06-14 2 views
0

Я узнал о важности и ценности использования virtualenvwrapper и virtualenv в моей системе разработки. У меня есть рабочий стол Ubuntu 16, который я использую для разработки. О, кстати, я не хочу использовать PaaS, как Heroku, так как я уже плачу за VPS-хостинг.Как развернуть python/django, который был создан с помощью virtualenvwrapper?

С virtualenvwrapper Я просто использую команду workon , и она активирует среду для myproject (где мой проект - это какой-то проект). Моя среда развертывания - это сервер VPS с доступом к корневой оболочке. Я запускаю некоторые php-приложения с apache, поэтому я установил mod_wsgi.
Я читал другие сообщения, но не был уверен в использовании virtualenv в производстве. Я имею в виду, что я активирую среду из сеанса оболочки.

Я не знаю, если (1) если я закрою свою оболочку, среда останется активной? (2) Если да, могу ли я иметь более одной активированной среды на одном и том же сервере vps или даже в том же домене (я поставил более одного домена на моем рабочем сервере). (3) Другой вариант, который я знаю, - запустить команду активации, заканчивающуюся &, чтобы отправить ее на задний план. Это, по сути, хак, как указал мой веб-хостинг-провайдер. Имеет смысл, что это проблематично в том, что если система когда-либо перезагружалась, мне пришлось бы включить и повторно активировать виртуальные виртуальные машины python.

Я прошел курсы по веб-приложениям python, но они, похоже, не учитывают эти детали перехода к производству. Или они предлагают решение типа PaaS, такое как Heroku. Я уже плачу за vps-хостинг, и я знаю, что это можно сделать. Спасибо, Брюс

ответ

3

Read:

Ваш доступ к оболочке, в вашей активированной виртуальной среде Python, запустите интерпретатор Python и введите :

import sys 
print(sys.prefix) 

Путь, который он выдает, заключается в том, что вы должны указать опцию python-home директивы WSGIDaemonProcess, которую вы используете для вашей группы процессов демона.

Если вы не используете группы процессов демона, тем более, что используете PHP, начните их использовать. Также убедитесь, что вы отключили инициализацию интерпретатора Python для встроенного режима. Три вышеуказанных постов охватывают все эти детали.

+0

Спасибо за советы. Я смущен, обнаружив, что мне нужно больше узнать об apache и понятиях режима встроенного режима и демона. Я развиваю php в течение многих лет, но мне не нужно это знать. Мое впечатление, что разработка веб-приложений python сложнее, чем php? Или, может быть, есть разница между лучшими практиками и самым простым способом заставить что-то работать, т. Е. Мне не нужно использовать virtualenv или беспокоиться о режиме работы, но ...? –

+0

Настройка Apache при запуске приложений PHP несколько отличается от того, что вам нужно для запуска приложений Python. Таким образом, попытка запустить оба одновременно может привести к тому, что сайт Python не будет работать хорошо и повлияет на общий Apache. Самый простой способ решения проблемы - использовать режим демона, так как специфическая для PHP конфигурация не вызывает большой проблемы. Вы можете увидеть более подробную информацию, просмотрев https://www.youtube.com/watch?v=k6Erh7oHvns –

Смежные вопросы