【问题标题】:running multiple flask application using apache使用 apache 运行多个烧瓶应用程序
【发布时间】:2019-04-18 06:31:41
【问题描述】:

我在不同的网站上尝试了所有可能的方法。但是没有运气。

目前我正在关注 - Run multiple independent Flask apps in Ubuntu

我有两个烧瓶应用程序

/var/www/html/myapps/flaskapp2
/var/www/html/myapps/flaskapp

都有 python 文件和 wsgi 文件。

/var/www/html/myapps/flaskapp2/flaskapp2.py

from flask import Flask
app = Flask(__name__)
@app.route("/newflask")
def hello():
    return "Hello,welcome to flask website!"
if __name__ == "__main__":
    app.run()

/var/www/html/myapps/flaskapp2/flaskapp2.wsgi

#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/html/myapps/flaskapp2/")

from flaskapp2 import app as application

和配置文件

<VirtualHost *:80>
                ServerName http://IP
                ServerAlias IP
                ServerAdmin admin@mywebsite.com

                WSGIDaemonProcess app1 user=karim group=karim threads=5 python-home=/var/www/html/myapps/flaskapp:/home/k/projects_r/venv_3.7/lib/python3.7/site-packages
                WSGIScriptAlias /app1 /var/www/html/myapps/flaskapp/flaskapp.wsgi
                <Directory /var/www/html/myapps/flaskapp>
                        WSGIApplicationGroup app1
                        WSGIProcessGroup app1
                        Order allow,deny
                        Allow from all
                </Directory>


                WSGIDaemonProcess app2 user=karim group=karim threads=5 python-home=/var/www/html/myapps/flaskapp2:/home/k/projects_r/venv_3.7/lib/python3.7/site-packages
                WSGIScriptAlias /app2 /var/www/html/myapps/flaskapp2/flaskapp2.wsgi
                <Directory /var/www/html/myapps/flaskapp2>
                        WSGIApplicationGroup app2
                        WSGIProcessGroup app2
                        Order allow,deny
                        Allow from all
                </Directory>

                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

当我尝试打开时

http://IP/myapps/flaskapp/flask
http://IP/myapps/flaskapp2/newflask

它给了我

未找到 在服务器上未找到请求的 URL。如果你 手动输入网址,请检查您的拼写并重试。

更新 1

只有这个 app.conf 适用于 IP/flask

<VirtualHost *:80>
                ServerName http://IP
                ServerAlias IP
                ServerAdmin admin@mywebsite.com
                WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi
                <Directory /var/www/html/flaskapp>
                        Order allow,deny
                        Allow from all
                </Directory>

                ErrorLog ${APACHE_LOG_DIR}/error.log
                LogLevel warn
                CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

【问题讨论】:

  • 您遇到了什么错误?恐怕我们需要比“没有运气”更多的信息。
  • @Ewan:是的,刚刚更新
  • 请发送您的错误的完整追溯
  • @nihal:我在哪里得到它
  • 在 python 错误中

标签: python flask wsgi


【解决方案1】:

在我看来,您使用了错误的 URL。您的WSGIScriptAlias 设置为分别收听/app1/app2,所以我会先尝试访问:

http://IP/app1
http://IP/app2

并检查WSGIScriptAlias documentation

【讨论】:

  • 感谢@Ewan:但这也以同样的错误信息告终。根据我给出的路线,我尝试了您建议的一个以及http://IP/app1/flask http://IP/app2/newflask
猜你喜欢
  • 1970-01-01
  • 2012-05-27
  • 2018-12-13
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 2016-12-09
  • 2015-07-05
  • 1970-01-01
相关资源
最近更新 更多