在GoDaddy上安装django站点

时间:2012-09-30 03:39:24

标签: python django installation install

之前我从未部署过Django网站。我目前正在寻找在我的豪华GoDaddy帐户中进行设置。有没有人有关于如何在GoDaddy上安装python和django的文档?

5 个答案:

答案 0 :(得分:40)

为了将来参考,我认为你已经开始......

可以在GoDaddy托管上使用Django,使用他们推荐的VirtualEnv。 Python 2.7本机安装并且工作正常,但它不是要运行的默认版本。

  • 在您的网站上启用SSH访问。
  • 使用主机面板设置您的初始MySQL数据库。它不需要任何条目,只需确保它存在并记下连接信息。
  • SSH in,下载VirtualEnv.py。您可以获得整个tarball,但只需要单个文件。
  • 运行'/usr/bin/python2.7 virtualenv.py --system-site-packages your_new_env'
  • 运行'source your_new_env / bin / activate'
  • 运行'pip install django'
  • 您现在可以直接关注django教程,当然不使用runserver(因为您已经运行了web服务器)

这对我来说是一个豪华帐户,但我仍然会建议任何一个肯定想使用Django的人寻求替代主机。 GoDaddy不是很友好,我不确定一切都会继续发挥作用。


修改

我意识到如何在没有常规mod_ *选项的情况下让Django在Apache内正常运行可能会有一些混乱。这是我的方法:

  • 在html目录结构之外的某处创建django项目。例如,在〜/ code中运行django-admin来创建〜/ code / yoursite
  • 遵循Django教程中描述的正常项目和数据库设置。
  • 从您的虚拟python环境中,运行'pip install flup'。
  • 在〜/ code(注意python路径!)中创建以下脚本'django_cgi.py':

    #!~/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仅为我们无法使用的旧版Python提供本机CGI支持,因此我们必须使用我们的虚拟环境。虽然我们不能直接在CGI脚本中使用它,但幸运的是我们可以运行shell脚本并手动调用它。 mod_rewrite规则确保所有流量都通过Django。

<强>参考
Django with FastCGI
Start of Django Tutorials
VirtualEnv

答案 1 :(得分: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

因此,根据我的观察,任何一个答案都可能是正确的:

  • Godaddy声称他们支持Python。但是没有能力支持它。
  • Godaddy支持Python。但是,他们的技术支持人员不知道他们的服务器是如何工作的。
  • Godaddy声称他们支持Python。但是,他们真的没有。

但在得出结论之前,我已经要求将Godaddy Python服务器更改为2.7。我发现后,我会更新这篇文章。

<强>更新 Godaddy声称您可以在虚拟专用服务器或专用服务器上运行Python,我认为这可能是因为您运行自己的计算机。从技术上讲,您可以在自己的计算机上安装任何东西。所以,如果Python运行,Django可能会运行,但我怀疑他们是否知道如何支持它。

答案 2 :(得分:2)

我并不熟悉GoDaddy的设置,但总的来说,除非得到特别支持,否则你无法在共享主机上安装Django(la Dreamhost)。因此,除非GoDaddy在他们的文档中特别提到Django(或者可能是mod_wsgi或其他东西),否则你可以认为它不受支持。

理论上你可以安装Python并从你有shell访问权限和足够权限的任何地方运行Django,但是你无法实际为你的Django站点提供共享主机的一部分(即在端口80上并响应你的选择的主机名)因为您无权访问Web服务器配置。

您需要一个VPS(GoDaddy提供它们,但它不是它们的核心业务; Linode和Rackspace是其他选项),或者是专门支持Django的共享主机(例如Dreamhost),或者是应用程序主机(Heroku或Google App)发动机)。我个人推荐Heroku,特别是如果您对建立和维护自己的网络服务器没有信心。

答案 3 :(得分:1)

从其他答案来看,看起来GoDaddy共享主机可能并不真正支持Django。此外,在搜索表单中搜索“django”不会返回任何内容。如果是这种情况,我认为您最好的选择是使用名为herehere的信誉良好的Django托管公司。

答案 4 :(得分:0)

这就是我做的。

  1. 使用CENTOS 5.8
  2. 在真实服务器(您拥有完全访问权限)上创建chroot
  3. 在那里安装所有需要的软件包,包括sqlite3-devel,你自己编译的python 2.7,虚拟env等。
  4. 在那里安装django并将其全部设置好。
  5. 快照整个chroot并将其复制到计算机上,
  6. 执行时,只需使用virtualenv即可。
  7. 请参阅此处的自述文件:https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README我还修改了该工具的代码,这是我使用的。