Sidebar |
Django2 CGI handler + apache2.4 : メモ
執筆:2018.06.13
編集:2018.06.13 概要 python3.6 + django 2.0.6
基本的に wsgi_over_cgi.py 内の from wsgiref.handlers import CGIHandler
だけで動かないといけないのですが、django内の処理が間違っているために、環境変数名の変更 及びfrom . import wsgi app = wsgi.get_wsgi_application() CGIHandler().run(app) PATH_INFO、FORCE_SCRIPT_NAMEの変更設定がwsgi_emulate.py または wsgi_over_cgi.py および setting.py内に追加されています。 IfModuleで条件指定しているため wsgiモジュールが有効になった場合は自動的にwsgiで動作する 必要な設定 .htaccess # 追加分
<IfModule !mod_wsgi.c> <FilesMatch "\.(?i:pyc?)$"> order deny,allow deny from all # RewriteRule "" - [L,R=404] </FilesMatch> # wsgi_emulate.py 内で この値をもとに正しいURLを生成できるように成形される setenv BASE_URI / # / or /pathtositetop setenv SCRIPT_URL / # / or /pathtositetop/ RewriteRule "^$" start-django.cgi [L,T=application/x-httpd-cgi] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule "." start-django.cgi [L,T=application/x-httpd-cgi] </IfModule> apacheが古くて、環境変数が渡らない場合は start-django.cgi に以下を追加する os.environ.setdefault("BASE_URI", "/") # / or /pathtositetop
こちらに書き込んでいたほうが確実だろうos.environ.setdefault("SCRIPT_URL", "/") # / or /pathtositetop/ 表示されない場合
# https://pypi.python.org/pypi/pytz#downloads カテゴリー: レンタルサーバーやcgi
2018.06.13
さくらインターネット ライトプラン で django2.0 + python3.6
執筆:2018.06.15
編集:2018.06.15 設定の仕方 導入方法は関連ページへ
サイト内 関連ページ 応答速度
ブラウザだとdjangoは少し遅く感じますが、機械的な取得だとほぼ同じという結果になりました。 djangoのデフォルトページに描画処理があるせいでブラウザだと遅いのかもしれないですね pythonのほうは、この速度にさらに表示用のなんらかの処理を加えることになるので phpのほうがcgi応答速度は速いということになります。 djangoは脆弱性がわりとあるようなので、ライトプランというcronが動作しない自動更新できない環境ではちょっと勇気がいる djangoの導入は見送りになりそう。 キーワード Django2 CGI handler
Django2 CGI handler さくらインターネット 共有サーバー Django2 python3 さくらインターネット 共有サーバー django 脆弱性 カテゴリー: レンタルサーバーやcgi
2018.06.15
|
Sidebar |