之前我从未部署过Django网站。我目前正在寻找在我的豪华GoDaddy帐户中进行设置。有没有人有关于如何在GoDaddy上安装python和django的文档?
答案 0 :(得分:40)
为了将来参考,我认为你已经开始......
可以在GoDaddy托管上使用Django,使用他们推荐的VirtualEnv。 Python 2.7本机安装并且工作正常,但它不是要运行的默认版本。
这对我来说是一个豪华帐户,但我仍然会建议任何一个肯定想使用Django的人寻求替代主机。 GoDaddy不是很友好,我不确定一切都会继续发挥作用。
的修改
我意识到如何在没有常规mod_ *选项的情况下让Django在Apache内正常运行可能会有一些混乱。这是我的方法:
在〜/ 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
这已经过度简化但功能齐全,应该会导致任何页面或文件的请求被传递给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服务器更改为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”不会返回任何内容。如果是这种情况,我认为您最好的选择是使用名为here和here的信誉良好的Django托管公司。
答案 4 :(得分:0)
这就是我做的。
请参阅此处的自述文件:https://github.com/lawrencecreates/RHEL5-chroot/blob/master/README我还修改了该工具的代码,这是我使用的。