7

ファイルを配置するためにどのディレクトリが必要ですか?
public_htmlを試しましたが、ファイルをそこに置いてsetup.pyをクリックすると、スクリプトが開始されませんでした。

4

2 に答える 2

16

次の理由から、cPanel(共有ホスティング)でDjangoアプリケーションを実行するのはおそらく最善ではありません。

  • ほとんどの共有ホスティングプロバイダーでは、コンパイルが必要なカスタムライブラリをインストールすることはできません。ただし、何もコンパイルする必要がない限り、virtualenvを作成してパッケージをインストールすることはできます(例:Django)pip
  • パフォーマンス。私の経験では、共有ホスティングに単純な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。必ずvirtualenvPythonパスを使用してください。これについてのDjangoドキュメントはここにあります

    !/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などの柔軟性を高める他のホスティングプロバイダーの使用を検討する必要があります。

于 2013-03-25T22:17:33.713 に答える
0

DjangoはPythonインスタンスで実行されるフレームワークであり、HTMLやPHPなどのWebサーバーから提供されるファイルのセットとしてではありません。ほとんどの場合、 HerokuなどのWebアプリケーションをホストする別のホスティングプロバイダーが必要になります。

于 2013-03-25T21:34:49.810 に答える