試了很多次,要注意幾點。
一、安裝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()