我需要将文件放入哪个目录?
我尝试了public_html,但当我把文件放在那里并点击setup.py时,它没有启动脚本。
答案 0 :(得分:15)
由于以下原因,在cPanel(共享主机)上运行Django应用程序可能不是最好的选择:
pip
安装包。然而,并不是说这是不可能的。这些粗略的步骤应该足够准确,以指导您走正确的道路。我还没有这么做,所以可能会有错误。
登录您的帐户并为您的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")
在index.fcgi
public_html/.htaccess
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。
答案 1 :(得分:0)
Django是一个在Python实例中运行的框架,而不是从Web服务器(如HTML或PHP)提供的一组文件。您很可能需要另一个承载web 应用程序的托管服务提供商,例如Heroku。