如何在 cpanel 上安装 django [关闭]

Posted

技术标签:

【中文标题】如何在 cpanel 上安装 django [关闭]【英文标题】:how to install django on cpanel [closed] 【发布时间】:2013-03-15 13:04:38 【问题描述】:

我需要将文件放在哪个目录中? 我尝试了 public_html,但是当我将文件放在那里并单击 setup.py 时,它没有启动脚本。

【问题讨论】:

我无法写出详细的答案,因为这个问题已经结束,但这个分步指南将帮助Deploy Django app on Shared Hosting using CPanel 【参考方案1】:

由于以下原因,在 cPanel(共享主机)上运行 Django 应用程序可能不是最好的事情:

大多数共享主机提供商不允许您安装需要编译的自定义库。但是,您仍然可以创建 virtualenv 和 pip 安装包,只要它们不需要编译任何东西(例如 Django) 性能。以我的经验,可以在共享主机上部署一个简单的 Django 应用程序,但它不是很可靠,性能也不是很好。

但是,这并不是说这是不可能的。这些粗略的步骤应该足够准确,以引导您走上正确的道路。好久没做这个了,可能会有错误。

首先您必须具有 SSH 访问权限

登录您的帐户并为您的 django 项目创建 virtualenv

$ cd ~
$ wget https://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.9.1.tar.gz
$ tar -zxvf virtualenv-1.9.1.tar.gz
$ python virtualenv-1.9.1/virtualenv.py djangovevn

将 virtualenv bin 文件夹添加到路径中(.bash_profile 内)

export PATH="/home/<username>/djangovenv/bin:$PATH" # inside .bash_profile

# activate .bash_profile
$ source .bash_profile

然后pip 安装您的项目所需的一切。确保先激活 virtualenv

$ source ~/djangovevn/bin/activate
$ pip install django

像往常一样配置 Django。确保DEBUGFalse

public_html 内部创建index.fcgi。确保使用 virtualenv Python 路径。 Django 文档关于此here。

!/home/<username>/djangovenv/bin/python
import sys, os

# add projects directory to the path so that
# settings from the project can be imported
sys.path.insert(0, "/home/<username>/path/to/project")

# Switch to the directory of your project #
os.chdir("/home/<username>/path/to/project")

# Set the DJANGO_SETTINGS_MODULE environment variable #
os.environ['DJANGO_SETTINGS_MODULE'] = "project.settings"


# Run the fastcgi instance #
from django.core.servers.fastcgi import runfastcgi
runfastcgi(method="threaded", daemonize="false")

public_html/.htaccess中配置index.fcgi

AddHandler fcgid-script .fcgi
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^(.*)$ index.fcgi/$1 [QSA,L]

激活 fastcgi

$ cd ~/public_html
$ touch index.fcgi
$ chmod 0755 .htaccess
$ chmod 0755 index.fcgi

全部完成!

但是这种方法会让你很快发疯。 Apache 不是为此而设计的,并且这种方法不受欢迎是有原因的。一开始这应该足够好,但是随着您将获得更高级的 Django 应用程序部署,您应该考虑使用其他一些允许更大灵活性的托管服务提供商,例如 WebFaction 或 heroku。

【讨论】:

请注意,index.fcgi 文件的开头缺少一个哈希。此外,对于现在发现此问题的任何人,django.core.servers.fastcgi 模块已在 1.9 版中从 Django 中删除(请参阅this question)。【参考方案2】:

Django 是一个在 Python 实例中运行的框架,而不是作为一组从 Web 服务器提供的文件,如 HTML 或 php。您很可能需要另一个托管 Web 应用程序的托管服务提供商,例如 Heroku。

【讨论】:

这不是真的。有 FastCGI... 是的,但是走这条路通常会花费大量时间来让它运行,即使发生了。 +1 不是会员链接 :)

以上是关于如何在 cpanel 上安装 django [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从 cpanel 卸载 apache 服务器? [关闭]

共享主机上的 Django 应用程序依赖项(Cpanel)

在 cPanel 上的 django 项目中安装 mysqlclient 时出错

管理 VPS 服务器并安装 cpanel 替代方案 [关闭]

无法在 cpanel django 上提供媒体文件

使用在 django 的 cpanel 上创建的电子邮件