gpt4 book ai didi

python - 在 ubuntu/apache2 : virtual host configuration 上部署 flask 应用程序

转载 作者:行者123 更新时间:2023-12-04 19:15:36 24 4
gpt4 key购买 nike

我正在尝试按照 link 中的说明在 ubuntu (14.04) 上的 apache2 安装上部署 python/flask 应用程序。

该应用程序似乎可以工作,如果我将浏览器指向 http://mywebsite.com/我正确地看到了 Flask 应用程序返回的消息。

我的问题是,如果我想在同一台机器上安装第二个站点作为不同的虚拟主机(比如非 python 应用程序)怎么办?
我想要的是虚拟主机映射到像 http://mywebsite.com/FlaskApp 这样的 URL。 ,同时可以在 http://mywebsite.com/MyOtherWebApp 定义另一个虚拟主机

根据上述文章的说明,这是 FlaskApp.conf 文件:

<VirtualHost *:80>
ServerName mywebsite.com
ServerAdmin admin@mywebsite.com
WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
<Directory /var/www/FlaskApp/FlaskApp/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskApp/FlaskApp/static
<Directory /var/www/FlaskApp/FlaskApp/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这就是 /var/www安装 python 应用程序后,文件夹是结构化的
/var/www
+-- FlaskApp
¦   +-- FlaskApp
¦   ¦   +-- flaskenv
¦   ¦   +-- __init__.py
¦   ¦   +-- __init__.pyc
¦   ¦   +-- static
¦   ¦   +-- templates
¦   +-- flaskapp.wsgi
¦
+-- MyOtherWebApp
+-- ...

一些更详细的注释:
  • 我无法为不同的 VirtualHost
  • 使用不同的域名或不同的端口
  • 我找到了this线程建议使用指令 ServerAlias如下图来解决类似的问题,但如果我这样做并转到 http://mywebsite.com/我看到的是 FlaskApp 文件夹的目录列表,而不是 flask 服务调用的结果,如下面的屏幕截图所示:

  • 这里改变了 FlaskApp.conf:
    <VirtualHost *:80>
    ServerName mywebsite.com/FlaskApp
    ServerAlias mywebsite.com/FlaskApp
    .
    .
    .

    截屏:

    enter image description here

    最佳答案

    我认为您错过了 Controller 中的该网址。也许您可以在 FlaskApp 文件夹中添加一个 index.html 以重定向到正确的 url(或者相反,如果您离开 ServerName mywebsite.com/FlaskApp,则放置一个索引文件以重定向到 FlaskApp)。
    如果 index.html “hack” 不适合您的需要,您可以添加另一个虚拟服务器以从/重定向到/FlaskApp/

    关于python - 在 ubuntu/apache2 : virtual host configuration 上部署 flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38572059/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com