如何在Windows系统的Apache上部署多个Django应用?
在WAMP的Apache上配置多Django应用虚拟主机
1. 修改Windows Hosts文件
- 右键记事本选择「以管理员身份运行」,打开
C:\Windows\System32\drivers\etc\hosts文件 - 在文件末尾添加两行自定义域名映射:
127.0.0.1 app1.local 127.0.0.1 app2.local - 保存并关闭文件
2. 启用Apache虚拟主机配置
- 点击WAMP托盘图标 → Apache → 打开
httpd.conf配置文件 - 找到行
#Include conf/extra/httpd-vhosts.conf,去掉开头的#注释,保存文件
3. 编写虚拟主机规则
- 打开
httpd-vhosts.conf文件(路径一般为C:\wamp64\bin\apache\apache[版本号]\conf\extra\httpd-vhosts.conf) - 清空原有示例内容,为每个Django应用添加独立配置块:
应用1(app1.local)配置示例:
<VirtualHost *:80> ServerName app1.local # 绑定Django项目的WSGI入口脚本 WSGIScriptAlias / "C:/wamp64/www/app1/app1/wsgi.py" # 指定Python环境与项目路径 WSGIDaemonProcess app1.local python-path=C:/wamp64/www/app1;C:/wamp64/python/site-packages WSGIProcessGroup app1.local # 允许Apache访问WSGI脚本目录 <Directory "C:/wamp64/www/app1/app1"> <Files wsgi.py> Require all granted </Files> </Directory> # 静态文件映射(需提前运行python manage.py collectstatic) Alias /static "C:/wamp64/www/app1/static" <Directory "C:/wamp64/www/app1/static"> Require all granted Options Indexes FollowSymLinks </Directory> </VirtualHost>
应用2(app2.local)配置示例:
<VirtualHost *:80> ServerName app2.local WSGIScriptAlias / "C:/wamp64/www/app2/app2/wsgi.py" WSGIDaemonProcess app2.local python-path=C:/wamp64/www/app2;C:/wamp64/python/site-packages WSGIProcessGroup app2.local <Directory "C:/wamp64/www/app2/app2"> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static "C:/wamp64/www/app2/static" <Directory "C:/wamp64/www/app2/static"> Require all granted Options Indexes FollowSymLinks </Directory> </VirtualHost>
- 替换路径中的
app1、app2为你实际的项目目录;若使用独立Python环境,需修改python-path中的site-packages路径
4. 收尾与测试
- 点击WAMP托盘图标 → Apache → 重启服务
- 打开浏览器访问
http://app1.local和http://app2.local,验证应用是否正常加载
关键注意事项
- 每个Django项目的
settings.py中,需将自定义域名加入ALLOWED_HOSTS,如ALLOWED_HOSTS = ['app1.local', 'app2.local'] - 静态文件加载异常时,先执行
python manage.py collectstatic收集静态资源到配置的static目录 - 路径中避免包含空格,否则可能引发Apache解析错误
内容的提问来源于stack exchange,提问作者joegsuero
相关产品推荐
相关产品推荐

