在多个文件中分割相同的虚拟主机configuration

我的服务器上有多个django应用程序,它们在自己的虚拟主机中运行,绑定到不同的端口。 (我这样做是为了隔离每个WSGIProcessGroup)。

现在我想代表每个应用程序到80端口为简单的事情。

对于一个应用程序,我做这样的事情:

Listen 8101 <VirtualHost 127.0.0.1:8101> WSGIProcessGroup app1 WSGIDaemonProcess app1 display-name=%{GROUP} WSGIScriptAlias /app1 "/var/django_apps/app1/app1.wsgi" </VirtualHost> <VirtualHost *:80> ProxyPass /app1 http://localhost:8101/app1 ProxyPassReverse /app1 http://localhost:8101/app1 </VirtualHost> 

现在,为了简化启用或禁用某些应用程序,当我有另一个应用程序运行时,我有另一个.conf文件包含这个:

 Listen 8102 <VirtualHost 127.0.0.1:8102> WSGIProcessGroup app2 WSGIDaemonProcess app2 display-name=%{GROUP} WSGIScriptAlias /app2 "/var/django_apps/app2/app2.wsgi" </VirtualHost> <VirtualHost *:80> ProxyPass /app2 http://localhost:8102/app2 ProxyPassReverse /app2 http://localhost:8102/app2 </VirtualHost> 

但是这个第二个<VirtualHost *:80>没有被使用,考虑到apache的configuration语法,这似乎是正常的。

不过 ,我希望这一点的configuration能够在应用程序声明旁边生存,所以我可以在一个文件中拥有属于自己的东西。

我能为此做些什么? 我正在考虑使用include指令,但是我对apacheconfiguration知之甚less,而且我不认为我可以自己find一个解决scheme:)

你怎么看?

干杯

include指令可以让你像这样构造你的代理configuration:

proxy.conf:

 <VirtualHost *:80> Include app1_proxy.conf Include app2_proxy.conf </VirtualHost> 

app1_proxy.conf:

 ProxyPass /app1 http://localhost:8101/app1 ProxyPassReverse /app1 http://localhost:8101/app1 

app2_proxy.conf:

 ProxyPass /app2 http://localhost:8102/app2 ProxyPassReverse /app2 http://localhost:8102/app2