実現したいこと+連携ソフト
実現したいこと:
Windwos10 環境にDjangoで動作するWEBシステム環境を構築したい。
この記事ではapacheとmod_wsgiの連携について説明していきます。
下記記事で、Windows10でDjangoを動作させるために必要なソフトのインストールについて説明しています。
まだ見ていない方は先にこちらをご覧ください。
では早速ソフトウェアの連携を解説していきます。
ソフトの連携作業
前回の記事でmod_wsgiのインストール手順について紹介していなかったので、まず最初にmod_wsgiのインストール方法について説明します。
mod_wsgiのインストール
今回はapacheとDjangoを使ってWEBシステムを構築したいと考えているので、
apacheでPythonを動作させる必要があります。
apacheはデフォルトでpythonを実行できません。
なので、実行できるようにモジュールを追加してあげる必要があります。
さて、さっそくインストールしていきましょう。
最初に下記ページにアクセスし、対象のファイルをダウンロードしてきます。
移動できたら下記画像を参考にリンクをクリックし、ダウンロードしていくのですが、
ダウンロードするmod_wsgiはどれでもよいわけではありません。
インストールしているpythonのバージョンとご愛用Windows10のビット数で変わります。
(今回はWindows10のビット数が64bitであることを前提にしています)
リンク先のフォーマットは以下の通りになっています。
ご自分の環境とよく照らし合わせてからダウンロードしてくださいね。
mod_wsgi-△△△-cp〇〇-cp〇〇-win amd■■.whl
△△△・・・mod_wsgiのバージョン
〇〇 ・・・ mod_wsgiが対応しているpythonのバージョン
(インストールしているpythonのバージョン)
■■ ・・・ mod_wsgiが対応しているWindows10のビット数
ダウンロードが完了したら、ファイル名の拡張子を.zipに変更し、zipファイルを解凍します。
解凍したフォルダを開き、mod_wsgi\server\mod_wsgi.cp38-win_amd64.pydをmod_wsgi.soに変更します。
※今回はpythonのバージョン3.8、Windows10のビット数は64ビット環境対応のmod_wsgiをダウンロードしています。
ファイル名はご自身がインストールしたmod_wsgiによって変化します。
apacheとmod_wsgiの連携
mod_wsgiのインストール作業が完了したので、ソフトの連携作業を行っていきます。
apacheサービスの登録
apacheをコマンド操作したほうが効率がいいので、apacheをサービス登録します。
まず最初に管理者権限でDOSプロンプトを起動し、インストールしたapacheのbinに移動します。
移動が完了したら、下記コマンドを実行して、apacheをサービス登録します。
httpd -k install
次にapache/binを環境変数に設定を行って設定は完了です。
apacheにモジュールを設定する
先ほど作成したmod_wsgi.soファイルをapacheをインストールしたフォルダにインストールします。
インストールする場所はC:\Apache24\modulesです
(※apacheをインストールした場所によって変わります)
mod_wsgi.soファイルを所定の位置にインストールし終わったら、次の作業に移ります。
C:\Apache24\conf\httpd.confのファイルを開き、下記コードを追加します。
LoadModule wsgi_module modules/mod_wsgi.so
(httpd.confファイルを開くと、モジュールがロードされている箇所があるので、その最後尾に追加します)
以上でapacheとmod_wsgiの連携は完了しました。
動作確認
最後に動作確認を行います。
面倒な方はやらなくてもいいですが、後々もっと面倒になる可能性があるので、やはり動作確認をやっておくこと推奨です。
先ほど編集したhttpd.confファイルを再び編集します。
下記の画像を参考に変更を行います。
次にpythonのCドライブ直下にwsgi_appフォルダを作成して、その中にwsgi_handler.pyという名称のpythonファイルを作成します。
pythonファイルの中身は以下の通りです。
def application(environ, start_response):
status = '111 OK'
output = b'Hello World!'
response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
pythonファイルを作成し終わったら、管理者権限でDOSプロンプトを開き、下記コマンドを実行します。
httpd -k start
上記コマンドを実行することにより、apacheが起動されます。
(※因みにapacheを終了するにはhttpd -k shutdownと打ち込みます)
最後に、ブラウザの検索バーにlocalhost/wsgiと打ち込み画面上にHello World!と表示されれば、きちんと動作しています。
コメント