【问题标题】:Installing a django site on GoDaddy [closed]在 GoDaddy 上安装 django 站点 [关闭]
【发布时间】:2012-09-30 03:39:24
【问题描述】:

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

【问题讨论】:

  • 这不是个好主意...看看openshift.redhat.com
  • 最好的 Python 支持是使用 Google App Engine。正如我在使用 GAE 时观察到的那样,Stackoverflow 中有很多 Python 程序员。我确信 Django 会在它上面运行。 developers.google.com/appengine/articles/django
  • Go Daddy Linux 共享主机支持 Python(但不支持经济级计划)。但是不支持 Django,因为我们的共享主机环境中没有安装 mod_wsgi。
  • 这很不幸。是时候转移托管了。谢谢迈克。

标签: python django installation


【解决方案1】:

供将来参考,因为我假设您已经继续...

可以在 GoDaddy 主机上使用 Django,使用他们推荐的 VirtualEnv。 Python 2.7 已原生安装并且运行良好,但它不是要运行的默认版本。

  • 在您的站点上启用 SSH 访问。
  • 使用主机面板设置您的初始 MySQL 数据库。它不需要任何条目,只需确保它存在并记下连接信息即可。
  • SSH 进入,下载 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(因为您已经运行了一个网络服务器)

这适用于我的豪华帐户,但我仍然建议任何绝对想使用 Django 的人寻求替代托管。 GoDaddy 不是很友好,我不确定一切都会继续工作。


编辑

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

  • 在 html 目录结构之外的某个位置创建 django 项目。例如在 ~/code 中运行 django-admin 来创建 ~/code/yoursite
  • 按照 Django 教程中所述的正常项目和数据库设置进行操作。
  • 在您的虚拟 Python 环境中,运行“pip install flup”。
  • 在 ~/code 中创建以下脚本“django_cgi.py”(注意 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 只为我们无法使用的旧版 Python 提供原生 CGI 支持,因此我们必须使用我们的虚拟环境。虽然我们不能直接在 CGI 脚本中使用它,但幸运的是,我们可以运行一个 shell 脚本并手动调用它。 mod_rewrite 规则只是确保所有流量都通过 Django。

参考文献
Django with FastCGI
Start of Django Tutorials
VirtualEnv

【讨论】:

  • 这帮了很大的忙,经过两天的痛苦尝试在 godaddy 上设置 django。谢谢
  • Godaddy的python版本现在是2.6.6,所以不能再安装virtualenv.py了。
  • 如果有人像我一样拥有 2.6.6 版本,这里是展示如何安装新版本的方法:godaddy.com/garage/…
【解决方案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 可能会运行,但我怀疑他们是否知道如何支持它。

【讨论】:

  • Python 支持不足以以可用的方式在网络服务器上实际部署 Django。你也许可以在一个高编号的端口上为 Django 提供服务,但在大多数情况下这对你没有任何好处。
  • 我明白了。我的意思是,如果他们在支持 Python 时遇到问题。如果是 django 呢?
  • 那是不幸的。我注册了豪华版,因为有人告诉我它可以处理 Django。是时候寻找新的主机了。
  • 有人知道亚马逊托管服务是否适合较小的 Django 网站吗?
  • 哪一个?亚马逊有很多很多的托管产品。一个 Amazon EC2 实例绝对可以配置为为 Django 提供服务,正如我自己所做的那样。如果您不希望有太多流量,那么 Micro 实例可能是合适的(事实上,您甚至可以在免费试用服务上启动并运行您的应用程序)。这种方法与 Heroku 等相比的缺点是您必须自己配置服务器。
【解决方案3】:

我不特别熟悉 GoDaddy 的设置,但一般来说,您不能在共享主机上安装 Django,除非它得到特别支持(如 Dreamhost)。因此,除非 GoDaddy 在他们的文档中特别提到 Django(或者可能是 mod_wsgi 或其他东西),这是不太可能的,否则您可以假设它不受支持。

理论上,您可以从任何您拥有 shell 访问权限和足够权限的地方安装 Python 并运行 Django,但是您将无法真正将 Django 站点作为共享主机的一部分提供服务(例如,在端口 80 上并响应您的选定的主机名),因为您无权访问网络服务器配置。

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      我就是这样做的。

      1. 使用 CENTOS 5.8 在真实服务器(您可以完全访问的服务器)上创建一个 chroot
      2. 在那里安装所有需要的包,包括 sqlite3-devel、你自己编译的 python 2.7、虚拟环境等。
      3. 在那里安装 django 并进行设置。
      4. 对整个 chroot 进行快照并将其复制到机器上,
      5. 要执行,只需使用 virtualenv 即可。

      在此处查看自述文件:https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README 我还修改了该工具的代码,这就是我使用的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-03-15
        • 2013-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-24
        相关资源
        最近更新 更多