ファイルを配置するためにどのディレクトリが必要ですか?
public_htmlを試しましたが、ファイルをそこに置いてsetup.pyをクリックすると、スクリプトが開始されませんでした。
2 に答える
次の理由から、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などの柔軟性を高める他のホスティングプロバイダーの使用を検討する必要があります。
DjangoはPythonインスタンスで実行されるフレームワークであり、HTMLやPHPなどのWebサーバーから提供されるファイルのセットとしてではありません。ほとんどの場合、 HerokuなどのWebアプリケーションをホストする別のホスティングプロバイダーが必要になります。