我正在尝试在同一域名下设置两个(或更多)Django应用程序的子目录,例如:
http://example.com/site1/
http://example.com/site2/
我知道通常可以通过设置Apache虚拟主机来实现这一点:
<VirtualHost *:80>
...
WSGIScriptAlias /site1 /path/to/site1.wsgi
WSGIScriptAlias /site2 /path/to/site2.wsgi
</VirtualHost>
现在,我已经验证了每个站点单独运行的情况。但是当我尝试同时运行两个站点时,Apache会将我发送到工作进程先加载的任何一个站点。例如:
- 重新启动配置为提供6个线程的Apache
- 加载example.com/site1/,获取正确的页面
- 加载example.com/site2/,获取正确的页面
- 重复2和3两次。
- 反复刷新example.com/site1/,观察它从一个站点循环到另一个站点。
实际上,对于任何给定数量的工作进程,它都会循环通过所有工作进程数量,将请求发送到第一个遇到的工作进程,而不管WSGIScriptAlias指令如何。无论我做什么 (设置WSGIProcessGroup、守护进程模式与嵌入模式,或指令),它仍然表现出这种行为。
如果有人能指出我在这里做错了什么,那就太棒了!