Подтвердить что ты не робот

Установка сайта django на GoDaddy

Я никогда раньше не развертывал сайт Django. В настоящее время я хочу настроить его в моей учетной записи GoDaddy. У кого-нибудь есть документация о том, как начать установку python и django на GoDaddy?

4b9b3361

Ответ 1

В будущем, как я полагаю, вы переехали...

Можно использовать Django на хостинге GoDaddy, используя VirtualEnv, как они рекомендуют. Python 2.7 изначально установлен и работает нормально, хотя он не является версией по умолчанию.

  • Включить доступ к SSH на вашем сайте.
  • Используйте панель хостинга для настройки вашей внутренней базы данных MySQL. Он не требует каких-либо записей, просто убедитесь, что он существует, и запишите информацию о подключении.
  • SSH in, скачайте VirtualEnv.py. Вы можете получить весь архив, но вам нужен только один файл.
  • Запустить '/usr/bin/python2.7 virtualenv.py --system-site-packages your_new_env'
  • Запустить 'источник your_new_env/bin/activate'
  • Запустить 'pip install django'
  • Теперь вы можете напрямую следить за учебниками django, за исключением, конечно, не использования runerver (поскольку у вас уже есть веб-сервер)

Это работает для меня на deluxe-счете, хотя я бы по-прежнему рекомендовал, чтобы любой, кто определенно хочет использовать Django, ищет альтернативный хостинг. GoDaddy не очень дружелюбен, и я не уверен, что все будет продолжать работать.


ИЗМЕНИТЬ

Я понял, что может быть некоторая путаница в том, как заставить Django нормально работать внутри Apache, без обычных опций mod_ *. Это был мой подход:

  • Создайте проект django где-то вне структуры каталога html. Например, запустите django-admin в ~/code, чтобы создать ~/code/yoursite
  • Следуйте обычным настройкам проекта и базы данных, как описано в учебниках Django.
  • Из вашей виртуальной среды python запустите 'pip install flup'.
  • Создайте следующий script 'django_cgi.py' внутри ~/code (Обратите внимание на путь python!):

    #!~/your_new_env/bin/python
    import sys, os
    
    # Add a custom Python path for your project
    sys.path.insert(0, "/must/be/full/path/to/code/yoursite")
    
    # Set the DJANGO_SETTINGS_MODULE environment variable.
    # This should match the name for the project you added to the path above
    os.environ['DJANGO_SETTINGS_MODULE'] = 'yoursite.settings'
    
    from django.core.servers.fastcgi import runfastcgi
    runfastcgi(method="threaded", daemonize="false")
    
  • Внутри ~/html создайте или отредактируйте файл .htaccess с помощью некоторого варианта:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !=/mysite.cgi
    RewriteRule ^(.*)$ /mysite.cgi [QSA,L,PT]
    
  • Наконец, создайте ~/html/mysite.cgi следующим образом:

    #!/bin/sh
    ~/your_new_env/bin/python ~/code/django_cgi.py 2>&1
    
  • Убедитесь, что все выполнено соответствующим образом (755)

Это более упрощенная, но функциональная, и в результате каждый запрос на любую страницу или файл передается Django.

Причиной этого отказа является то, что GoDaddy предоставляет только собственную поддержку CGI для старых версий Python, которые мы не можем использовать, поэтому мы должны использовать нашу виртуальную среду. Хотя мы не можем использовать это непосредственно в сценариях CGI, мы можем, к счастью, запустить оболочку script и вызвать ее вручную. Правило mod_rewrite просто гарантирует, что весь трафик проходит через Django.

Ссылки
Django с FastCGI
Начало учебников Django
VirtualEnv

Ответ 2

Согласно Godaddy, они могут использовать Python 2.7.2, и вы можете запрограммировать, если у вас есть роскошный выпуск своего веб-хостинга. Как я понимаю, python будет работать в тот момент, когда вы набираете местоположение каталога вашей установки python в первой строке:

 #!/usr/local/bin/python2.7

Но, когда я пытался его протестировать, это не сработало. Я включил SSH в свой аккаунт. Я пытался соединиться с Putty, и он работает, если я запустил его. Но проблема в том, что сайт просто не появляется.

Я попытался проверить, что такое версия Python. Я узнал, что это Python 2.4.3. Итак, я попытался найти их каталог. Я обнаружил, что это может быть:

 #!/usr/local/bin/python2.4

Или

 #!/usr/local/bin/python2.4/site.py - (not sure)

Я пробовал каждый каталог и менял каждый синтаксис. Ничего не работает.

Вот статья для поддержки Python: http://support.godaddy.com/help/article/7254/can-i-use-python-272-with-my-hosting-account?locale=en

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

  • Годади утверждает, что поддерживает Python. Но не имеют возможности поддержать его.
  • Godaddy поддерживает Python. Но их технические поддержки не знают, как работают их серверы.
  • Годади утверждает, что поддерживает Python. Но на самом деле этого не происходит.

Но прежде чем перейти к выводам, я попросил сменить мой Godaddy Python Server на 2.7. Я обновлю этот пост, как только узнаю.

Update: Godaddy утверждает, что вы можете запустить Python на Virtual Private Server или Dedicated Server, который, я думаю, возможен, так как вы используете свой собственный компьютер. Технически вы можете установить что-либо на свой компьютер. Итак, если Python работает, Django может работать, но я сомневаюсь, что они знают, как его поддерживать.

Ответ 3

Я не очень хорошо знаком с настройкой GoDaddy, но в общем случае вы не можете установить Django на общий хостинг, если он не поддерживается специально (a la Dreamhost). Поэтому, если GoDaddy специально не упоминает Django (или, возможно, mod_wsgi или что-то еще) в своей документации, что маловероятно, вы можете предположить, что оно не поддерживается.

Теоретически вы можете установить Python и запустить Django из любого места, где у вас есть доступ к оболочке и достаточные разрешения, но вы не сможете фактически обслуживать ваш сайт Django как часть вашего общего хостинга (то есть на порт 80 и отвечать на ваши выбранное имя хоста), поскольку у вас нет доступа к конфигурации веб-сервера.

Вам понадобится VPS (GoDaddy предлагает их, но это не их основной бизнес, Linode и Rackspace - другие варианты) или общий хост, который специально поддерживает Django (например, Dreamhost) или хост приложения (Heroku или приложение Google Engine). Я рекомендую Heroku лично, особенно если вы не уверены в настройке и обслуживании своего собственного веб-сервера.

Ответ 4

Из других ответов похоже, что общий хостинг GoDaddy может не поддерживать Django. Кроме того, поиск "django" в форме поиска ничего не возвращает. Если это так, я думаю, что ваш лучший выбор будет использовать уважаемые дружественные Django хостинговые компании, перечисленные здесь и здесь.

Ответ 5

Вот как я это сделал.

  • Создайте на реальном сервере (у вас есть полный доступ) chroot с CENTOS 5.8
  • Установите там все необходимые пакеты, в том числе sqlite3-devel, python 2.7, которые вы скомпилируете сами, виртуальные env и т.д.
  • Установите там django и настройте все.
  • Снимите весь chroot и скопируйте его на компьютер,
  • Для выполнения просто используйте virtualenv, и он работает.

Смотрите здесь readme: https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README Я также изменил код этого инструмента, и это то, что я использовал.