Apache+mod_wsgi 部署多個django專案(基於同樣IP和同樣埠,不同path)
最近由於要在apache部署多個django專案,兩個專案要求使用同一個ip和port,請求不同path來訪問不同的專案。
環境:centos7+apache2.4.6
本次通過配置虛擬主機的方式實現。
1.在/etc/httpd/conf下建立extra目錄
2.在/etc/httpd/conf/extra下建立httpd_vhosts.conf檔案
3.<VirtualHost *:80>
WSGIDaemonProcess project1 processes=1 threads=15 python-path=/your_project1_dir_abs_path(wsgi.py所在目錄)
WSGIDaemonProcess project2 processes=1 threads=15 python-path=/your_project2_dir_abs_path(wsgi.py所在目錄)
<Location "/project1_path">
WSGIProcessGroup project1_group_name
</Location>
Alias /project1_static /project1_static_dir_path
<Directory /project1_static_dir_path>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias /project1_path /your_project1_dir_abs_path/wsgi.py process-group=project1_group_name
WSGIPassAuthorization on
<Directory /your_project1_dir_abs_path>
<Files wsgi.py>
Require all granted
</Files>
AllowOverride none
Require all granted
</Directory>
<Location "/project2_path">
WSGIProcessGroup project2_group_name
</Location>
Alias /project2_static /project2_static_dir_path
<Directory /project2_static_dir_path>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias /project2_path /your_projec2_dir_abs_path/wsgi.py process-group=project2_group_name
WSGIPassAuthorization on
<Directory /your_project2_dir_abs_path>
<Files wsgi.py>
Require all granted
</Files>
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
4.在/etc/httpd/conf/http.conf檔案中找到Include conf.modules.d/*.conf,然後在其下一行加入Include conf/extra/*.conf
5.重啟httpd