如何在 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。确保DEBUG
是False
在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 服务器? [关闭]
在 cPanel 上的 django 项目中安装 mysqlclient 时出错