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