mod_wsgi 4.7.1 install とdjango環境設定

前回の続きで、Apachepythonの橋渡しをしてくれるmod_wsgiのinstallです。これもソースコードからinstallします。
うまく、wgetで取得できなかったので、Webブラウザ経由でここから取得しました。

ここからapacheとmod_wsgiを関連付けるの設定になります。

  • httpd.conf
    /usr/local/src/apache2/conf/httpd.confに下記を追記します。
    LoadModuleが記載されている最後に下記を追記します。
    LoadModule wsgi_module modules/mod_wsgi.so

    最後にwsgi module関連を設定するため外部ファイルへincludeを追記します。<IfModule wsgi_module>
      Include conf/extra/wsgi.conf
    </IfModule>
    2カ所追記してhttpd.confを保存します。
  • extra/wsgi.conf
    /usr/local/src/apache2/conf/extra/wsgi.confを新規作成します。
    djangoでの環境を下記とします。
    アプリのディレクトリを/hoge/hoge/application
    wsgi.pyのあるディレクトリを/hoge/hoge/application/application/wsgi.py
    WSGIScriptAlias / /hoge/hoge/application/application/wsgi.py
    WSGIPythonPath /hoge/hoge/application
    <Directory /hoge/hoge/application/application/>
      <Files wsgi.py>
        Require all granted
      </Files>
    </Directory>
    Alias /static/ /hoge/hoge/application/static/
    <Directory /hoge/hoge/application/static>
      Require all granted
    </Directory>
  • apacheを再起動
    $ sudo /usr/local/apache2/bin/apachectl stop
    $ sudo /usr/local/apache2/bin/apachectl start

最後に、設定してみたけど動かない場合は、下記を確認するといいと思います。

  • apacheの設定は記載ミスがあったりするので、http -tでチェックしてくれます。
  • apahceのログファイルは、/usr/local/apache2/logsにerror.logに出力されています。
  • python + djangoでの問題もあるかもしれません。そんなときは、下記のコマンドで単独で起動してみましょう。
    $ python manage.py runserver
    これでエラーが出力される場合は、python + djangoの問題の可能性が高いです。pipでのinstallが異なっている可能性があります。確認してみてください。
  • 最後にエラー出力でわからない場合は、エラーメッセージをgoogle検索してみるといいでしょう。何かしらのヒントになるかもしれません。

下記サイトを参考にしました。ありがとうございます。

tomoprog.hatenablog.com

www.mk-mode.com

www.yoheim.net

www.unknownengineer.net

qiita.com