如何在cpanel上安装django

时间:2013-03-25 21:30:47

标签: django ftp cpanel

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

2 个答案:

答案 0 :(得分:15)

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

  • 大多数共享托管服务提供商不允许您安装需要编译的自定义库。但是,只要不需要编译任何内容(例如Django),您仍然可以创建virtualenvpip安装包。
  • 性能。根据我的经验,可以在共享主机上部署一个简单的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")
    
  • 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