django2をec2のapache2.4のvirtualhostで動かすhttpd.conf

django2をec2で動かしたいけど、apache2.4はすでに走っていてPHPのサイトがある、のでvirtualhostでdjango動かすというのが何とか起動まで確認できました。

LoadModule wsgi_module /var/www/project/venv/lib/python3.7/site-packages/mod_wsgi/server/mod_wsgi-py37.cpython-37m-x86_64-linux-gnu.so
WSGISocketPrefix run/wsgi
<VirtualHost *:80>
    ServerName hoge.com
    WSGIDaemonProcess hoge.com python-path=/var/www/project/mysite python-home=/var/www/project/venv/
    WSGIProcessGroup hoge.com
    WSGIScriptAlias / /var/www/project/mysite/mysite/wsgi.py

    DocumentRoot "/var/www/project/mysite/mysite"
    <Directory "/var/www/project/mysite/mysite">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    Alias /static /var/www/project/mysite/static
    <Directory "/var/www/project/mysite/static">
        Require all granted
    </Directory>
</VirtualHost>

もともとvirtualhostは動いてますのでそこの設定は省略で。
気をつけるところは、

WSGIDaemonProcess hoge.com python-path=/var/www/project/mysite python-home=/var/www/project/venv/

ではないでしょうか。python-pathもpython-homeもいるのに気付かず、venv環境が読めていなかったのと、
Directoryの中に設定を置いて、

Syntax error on line 4 of /etc/httpd/conf.d/11-django.conf:
WSGIDaemonProcess not allowed in context

などと怒られたりしていました。何にしろphpもpythonも同じapacheで動いているので節約できる・・のですが、やはりこんなことはあまりしたくないですね笑

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください