1. 程式人生 > >Apache+mod_wsgi 部署多個django專案(基於同樣IP和同樣埠,不同path)

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