试了很多次,要注意几点。
一、安装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()
网友评论