ただし使ったのは cgi。軽いページの応答に、短い場合で 500ms 、長い場合でも1秒弱なので使えないことはないのだけれど、時間ができたら fastCGI に挑戦したい。
----
google で XREA + Django で検索すると 2008年とかの情報が最初の方にでてきて、このブログの2010年の記事でもまだ新しい方。
7年前に自分で立ち上げた XREA + Django のサイトはすでに動いていないし、長い間にサーバー設定もいろいろ変わったようで、古い記事はあまり役に立たず。
作業中、公式サポートに 'AddHandler cgi-script-debug .py って動かないんですか?' と聞いたら、'弊社のサーバーはpython のデバッグモードには対応しておりません。' と言われてしまった ><。2010年ころには使えてたのに...
ということで、何度も心を折られながらようやくたどり着いた成果がこれ。
----
作業日 2017/08/07 - 2017/08/10
サーバー XREA Plus(2017年の大規模マイグレーション済み)
環境
サーバー設定
Python 2.7.5(default で入っているもの・python --version で確認)
インストールしたもの
Django 1.11.4
----
- コマンドラインから以下を実行して、Django をインストール。オプション '--user' が重要('--user' オプションは 'pip --help' でも出てこないのだが...)
$ pip install Django --user
- Python のローカル環境にパスを通す設定を追加するために ~/.bash_profile を作成。内容は以下の1行
PATH="$HOME/.local/bin:$PATH"
- ターミナルを再起動して、上記設定を有効に
- Python project を作成するために以下を実行
$ cd ~/
$ django-admin.py startproject mybook
- ./public_html に .htaccess を作成し、以下の1行を書き込む
AddHandler cgi-script .py
- public_html に PEP-0333.mod.py を作成、内容は こちら を
- Django project のインストール環境に合わせて、PEP-0333.mod.py の後ろの方にある
- sys.path.append() の引数を変更
sys.path.append("/virtual/アカウント名/django/projs/Django/static")
- os.environ['DJANGO_SETTINGS_MODULE'] の設定値を変更
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
- カレントディレクトリを ~/public_html に移動
$ cd ~/public_html
- PEP-0333.mod.py のパーミッションを変更
$ chmod 766 PEP-0333.mod.py
- ここまでうまくいっているか確認
$ ./PEP-0333.mod.py
上記一行を実行すると、エラーが発生しメッセージが何行か表示される。最後の2行が以下になっていることを確認する
> self.method = environ['REQUEST_METHOD'].upper()
> KeyError: u'REQUEST_METHOD'
- ここまできたら、ブラウザから
アカウント名.sXXX.xrea.com/PEP-0333.mod.py
を開き、以下のエラーが表示されることを確認
- エラーメッセージに従って ALLOWED_HOSTS を修正
$ vi ~/Django/mysite/mysite/settings.pyで settings.py を開き、
ALLOWED_HOSTS = []を
ALLOWED_HOSTS = ['アカウント名.sXXX.xrea.com']に修正
- ブラウザから、
アカウント名.sXXX.xrea.com/PEP-0333.mod.py
を再読み込みして以下の表示が出ることを確認。
----
ここまでくれば、あとは他の情報をつなぎ合わせてやっていけるはず。
0 件のコメント:
コメントを投稿