django備忘録29 FTP for Production Settings
FTPを使ったproduction settings
- filezilla を利用して、sftpで接続する。 この辺りのサイトが参照しやすいと思います。
FileZilla の設定(Mac OS X の場合) - KAGOYA Internet Routing
sshで、port22でアクセスしました。
デフォで入っている、djangoのprojectのフォルダを削除
srcをwebfactionの方に、アップロードする
webfactionというフォルダをlocal側に作成する
[webfaction]apache2/conf/httpd.conf → [local]webfaction にコピーする apache2の設定をするため。
apache2のhttpd.confの設定準備
- まずは、src のpathを確認する。pwdコマンド。
[webfaction]$ cd src/ [webfaction src]$ pwd /webapps/mvpland/src
- 次に、local/httpd.confを開く
次の2つを変更する。
`python-path=' 以降が、元々の、プロジェクトのルートになってると思うので、そこをsrcに変更する。
'WSGIScriptAlias' も、wsgi.pyのルートを正しく新しい方に設定する。
databaseの設定
production用のdatabase などの設定をするために、settings/production.py を編集していく。
base.py → production.py にコピペする。
production.py のdatabaseの設定。取り急ぎ完成系は以下のような感じ。
production.py
from .db_password import DBPASS DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql_psycopg2', 'NAME': "データベース名", 'USER': "ユーザー名", 'PASSWORD': DBPASS, } }
- DEBUG, ALLOWED_HOSTも編集する。debug=false, AllowedHostもwebfactionで割り当てられているurlを利用する。
production.py
DEBUG = False ALLOWED_HOSTS = ['ユーザー名.webfactional.com']
さらにこのタイミングで、base.py のDEBUG=Falseに変更しておく。(localは、debug=trueにしておく)
production.py に、以下の2つの設定を追加する。
from django.conf import settings settings(.init.py)を読み込んで、settings内の設定を参照できるようにする。
Djangoの設定 | Django documentation | Django
if not settings.DEBUG: settings.DEBUG=Falseになっている場合のみ、productionの設定は起動するようにする。 debag=Trueでの起動を防ぐため。
settings/.db_password.pyを新規作成する。 'DBPASS = "データベースのパスワード"' てな感じで設定しておく。 (この時点では、webfaction上には、データベースを作成してないのかな?だから設定予定のパスワードでいいかと思います。)
websaction/settings/local.py とlocal.pyc は削除でしておく。使わないため。
local/.db_password.py,base.py,production.pyは、websactionに上書きを反映させる。
websaction上で、起動させてみる
なので、pythonを起動するときは、versionを指定して起動してあげる。 python3.4 manage.py runserver 的な感じ。
python3.4 manage.py runserver を起動すると、appがないというようなエラーが出てくると思う。
localの方に戻って、srcないに、pip freeze > requirements.txt をターミナルで打って、requirements.txtを作成する
requirements.txtをwebfactionにアップする。
[websaction] $pip install -r requirements.txt でinstallできるが、pipが入ってないので、次回はpipをinstallするところから始める。
参照サイト
- 詳しいdjangoのinstallガイドは、webfactionの公式サイトにあります。
- djangoのデータベースの設定は、こちらの公式サイト参照