windows server 2008 下 apache2.4 配置多個 django應用。

試了很多次,要注意幾點。

一、安裝wsgi_mod

wsgi_mod使用的是python的一個庫,沒有使用網上的方式:LoadModule wsgi_module modules/mod_wsgi.so

LoadFile "d:/python3/python36.dll"
LoadModule wsgi_module "d:/python3/lib/site-packages/mod_wsgi/server/mod_wsgi.cp36-win_amd64.pyd"
WSGIPythonHome "d:/python3"

二、配置需要監聽的端口

打開Apache配置文件(Apache安裝目錄下:conf/httpd.conf)

找到#Listen 12.34.56.78:80

在下方添加需要監聽的端口,以8111,8222為例

Listen 127.0.0.1:8111
Listen 127.0.0.1:8222

若要讓局域網內其他用戶可以訪問:

Listen 0.0.0.0:8111
Listen *:8222

以上兩種方法均可

三、開啟虛擬路由

找到#LoadModule vhost_alias_module modules/mod_vhost_alias.so,建議直接搜索
將行首的#刪除,取消注釋,使其生效
找到#Include conf/extra/httpd-vhosts.conf
同樣將行首的#刪除,使其生效,包含這個配置文件,接下來我們就是去編輯該文件。

四、配置項目映射

打開httpd-vhosts.conf文件(Apache安裝目錄下conf/extra/httpd-vhosts.conf)
打開文件后,文件下面有一些類似下面這樣的配置

<VirtualHost *:80>
ServerName xxxx.example.com
ServerAlias www.xxxx.example.com
...
</VirtualHost>

刪除原有配置
編寫自己的配置進去

<VirtualHost *:80>

    # 這里填寫域名,沒有域名隨便填寫即可

    ServerName test.com

    ServerAlias a.test.com

 
    # 項目的wsgi.py文件,注意目錄前有`/`和空格

    WSGIScriptAlias / C:\web\DjangoBlog\DjangoBlog/wsgi.py

    <Directory C:\web\DjangoBlog\DjangoBlog>

    <Files wsgi.py>

        Require all granted

    </Files>

    </Directory>

    
    # 靜態文件路徑

    Alias /static C:\web\DjangoBlog\collectedstatic
    <Directory C:\web\DjangoBlog\collectedstatic>

        AllowOverride None

        Options None

        Require all granted

    </Directory>

    
        # 項目根路徑,經測試,這個寫到項目所在文件夾或者直接進入文件夾內都可以

    DocumentRoot "C:\web\DjangoBlog"

    <Directory "C:\web\DjangoBlog>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

    </Directory>

    
    # 錯誤日志記錄文件

    ErrorLog "logs/djangoblog.log"

</VirtualHost>



<VirtualHost *:8888>

    # 這里填寫域名,沒有域名隨便填寫即可

    ServerName test2.com

    ServerAlias a.test2.com

 
    # 項目的wsgi.py文件,注意目錄前有`/`和空格

    WSGIScriptAlias / C:\web\logistics\logistics\wsgi.py

    <Directory C:\web\logistics\logistics>

    <Files wsgi.py>

        Require all granted

    </Files>

    </Directory>

    
    # 靜態文件路徑

    Alias /static C:\web\logistics\collectedstatic
    <Directory C:\web\logistics\collectedstatic>

        AllowOverride None

        Options None

        Require all granted

    </Directory>

    
        # 項目根路徑,經測試,這個寫到項目所在文件夾或者直接進入文件夾內都可以

    DocumentRoot "C:\web\logistics"

    <Directory "C:\web\logistics>

        Options Indexes FollowSymLinks

        AllowOverride None

        Require all granted

    </Directory>

    
    # 錯誤日志記錄文件

    ErrorLog "logs/logistics.log"

</VirtualHost>


五、在wsgi.py中添加項目路徑

打開項目的wsgi.py文件
添加

import os
import sys

from django.core.wsgi import get_wsgi_application

sys.path.append('C:\web\logistics\logistics')
sys.path.append('C:\web\logistics')

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'logistics.settings')

application = get_wsgi_application()

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容