2013-07-01 4 views
0

Я создал сайт django с несколькими приложениями в нем, и он отлично работает на локальном сервере с sqlite, однако я готов попробовать развернуть сервер, вероятно, на linode с Ubuntu + mod_wsgi. Однако я никогда раньше не делал этого! Я размещал сайты PHP и .NET на godaddy и других хостах, и даже разместил еще одно приложение django с Heroku. Но я очень запугался, создав свой собственный ящик с linode и перейдя от разработки к развертыванию!Советы по развертыванию django

вот мое приложение, если это помогает на всех: https://github.com/loganhenson/interest

В основном:

  1. Является ли эта конфигурация рекомендуется, Linode + Ubuntu работает (Apache2?) Для моего Джанго приложения

  2. Какие еще шаги необходимо предпринять, прежде чем пытаться это сделать? Я помню, используя Heroku, что мне нужен «requirements.txt», мне нужно вручную установить все зависимые библиотеки в поле ubuntu перед загрузкой проекта? Или я могу просто использовать виртуальный env, который я разработал?

  3. Я использую sqlite для разработки, насколько сложно/рекомендуется использовать sqlite для dev и MySQL или Postgre для развертывания?

  4. В основном в стороне от после этого:

https://library.linode.com/frameworks/django-apache-mod-wsgi/ubuntu-10.04-lucid

там ничего майору, что я действительно знаю? У меня мало опыта работы с Ubuntu или Apache или mod_wsgi!

Спасибо!

+0

Вперед :) Вы отлично справитесь! На мой взгляд, я не думаю, что просто apache2, mod_wsgi, python, mysql | postgree и вам хорошо идти :) –

ответ

1

Я попытаюсь ответить на ваш вопрос, основываясь на общих методах развертывания, которые я придерживаюсь, и это может решить некоторые ваши вопросы.

Прежде всего, моя рекомендация состоит в том, чтобы разделить с производством и настройками dev. Так yourapp/yourapp/ вы положили папку settings и там __init__.py в папку установки вы поставите base.py, development.py и production.py в конечном итоге в структуре, как это:

yourapp/ 
     yourapp/ 
       settings/ 
         __init__.py 
         base.py 
         production.py 
         development.py 

в вашей продукции и развития файлов импорта базы . *, переопределяя определенные настройки, такие как настройки базы данных и, возможно, настройки почты и т. д. Также обратите внимание, что в файле yourapp/yourapp/wsgi.py вы должны указать правильные настройки.

Для virtualenv требования вы могли бы сделать что-то подобное, имея common.txt и dev.txt, который на первой линии имеет:

-r common.txt 

таким образом вы могли различать, что устанавливать на любых условиях, если вам это нужно , С этой начальной точки вы можете написать конфигурацию специально для своей цели развертывания, а не нарушать локальную среду разработки и поддерживать все под git или другим scm.

+0

Вы могли бы немного немного расширить требования к virtualenv? Я был под впечатлением - r использовался для рекурсивного редактирования каталога, но я не понимаю, как это изменит мою среду. Благодаря! – ljrh

+0

, например, если вы используете 'pip install -r dev.txt', и он имеет в первой строке' -r common.txt', он также установит перечисленные там пакеты, это та же самая логика, что и в настройках django разделение, которое я объяснил выше, где у вас есть общая база и несколько разных сред, которые наследуют от этого и расширяют его (в случае настроек django вы также можете переопределить, но не с требованиями virtualenv). достаточно ясно? – DRC

+0

очень чистый спасибо! – ljrh

0

Это хорошая настройка, но у меня было гораздо более плавное использование, используя пушки и nginx обратные прокси-запросы. Конфигурация nginx проще для нескольких сайтов, вам просто нужно добавить в конфигурацию записи виртуального сайта.

Если вы обнаружили, что настройка mod_wsgi утомительна для настройки (я сделал), вы можете попробовать выше.

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

  • Нет связанных вопросов^_^