【问题标题】:Multiple virtualhosts for two python sites, one dominates两个 python 站点的多个虚拟主机,一个占主导地位
【发布时间】:2014-06-25 16:33:14
【问题描述】:

我正在尝试在 Mac 服务器上配置 apache 服务器,以同时为 Web2Py 应用程序和 Flask 应用程序提供服务。这已成为一场温和的噩梦。我希望用户能够访问以下网址

http:/my.domain.com/ - Web2py 网站

http:/my.domain.com/suburl - Flask 网站

不幸的是,当我访问 suburl 时,它总是将我带到 Web2py 站点(然后因为没有名为 suburl 的应用程序而吓坏了)。这是我的.conf 文件:

NameVirtualHost *:80
# Flask Site
<VirtualHost *:80>
   ServerName my.domain.com/suburl
   WSGIDaemonProcess flask-suburl user=_www group=_www
   WSGIProcessGroup flask-suburl
   WSGIScriptAlias /suburl /Users/myname/suburl/app.wsgi
   <Directory /Users/myname/suburl>
      WSGIApplicationGroup %{GLOBAL}
      Order deny,allow
      Allow from all
   </Directory>
</VirtualHost>

# Web2py Site
<VirtualHost *:80>
   ServerName my.domain.com
   WSGIDaemonProcess web2py-main user=_www group=_www
   WSGIProcessGroup web2py-main
   WSGIScriptAlias / /Users/myname/web2py/wsgihandler.py
   <Directory /Users/myname/web2py>
      AllowOverride None
      Order Allow,Deny
      Deny from all
      <Files wsgihandler.py>
         Allow from all
      </Files>
   </Directory>
</VirtualHost>

重新排序两个 VirtualHost 定义不会做任何事情。删除 Web2py 站点允许我访问 Flask 站点。

我宁愿不将它们组合成一个 VirtualHost,因为这会导致两个应用程序共享同一个 Python 解释器出现问题,并且某些 C 扩展显然会被淘汰。

我更改了域和其他一些名称以隐藏受保护的信息。我还排除了一些处理为静态子文件夹提供服务的 AliasMatch 命令。在端口 443 上还有另一个用于 SSH 服务器的 VirtualHost,但我没有包括它,因为我希望这不会影响事情。

那么我到底要怎么做才能同时访问这两个网站,而不是让 Web2py 网站吞噬一切?

【问题讨论】:

    标签: python apache flask mod-wsgi web2py


    【解决方案1】:

    对于任何来这里的人,我已经解决了我的问题。这是一个简单的错误,我可以发誓我以前尝试过。

    在 Flask 站点的配置中,我应该这样做:

    ServerName my.domain.com
    ...
    WSGIScriptAlias /suburl /Users/myname/suburl/app.wsgi
    

    请注意,ServerName 的末尾不再有 /suburl。相反,请确保已将其添加到 WSGIScriptAlias 的第一个参数中。当您查看the documentation for WSGIScriptAlias 时,推理变得清晰;第一个参数是正在访问的 URL 路径。 ServerName 必须保持纯净。

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 2014-01-06
      • 1970-01-01
      • 2015-09-14
      • 2011-08-02
      • 1970-01-01
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多