Articles of 烧瓶

如何在Python / Flask应用程序中使用WSGI – HasGeek最终用户?

我正尝试在我的机器上安装最终用户OAuth服务器。 所以我打算用SSL(在443上)和lastuser app作为WSGI服务器设置Nginx。 HasGeek最后用户 我已经使用Nginx设置了HTTPS / SSL,并且在我的机器上工作正常。 但WSGI服务器不工作。 最后用户基本上是一个带有WSGI脚本website.wsgi的Flask应用程序。 import sys import os.path sys.path.insert(0, os.path.dirname(__file__)) from lastuserapp import app as application, init_for init_for('production') 我尝试使用gunicorn WSGI,并得到错误ImportError: No module named wsgi ,如下所示: $ gunicorn -b localhost:7000 website.wsgi 2014-03-03 17:06:49 [31267] [INFO] Starting gunicorn 0.13.4 2014-03-03 17:06:49 [31267] [INFO] Listening at: http://127.0.0.1:7000 (31267) 2014-03-03 17:06:49 [31267] [INFO] Using […]

Flask + uwsgi + nginx:内存何时发布?

我正在用Flask构build一个API。 例如,如果我有这样一个烧瓶路线: @app.route('/api/tasks', methods=['GET']) @auth.login_required def tasks(): tasks = g.user.tasks task_list = [] for t in tasks: d = {} d['name'] = t.name d['id'] = t.id task_list.append(d) return jsonify({'tasks':task_list}) 在返回响应之后,variables“tasks”和“task_list”使用的内存是否会立即释放? 就我而言,似乎uwsgi进程并没有释放他们用于每个请求的内存,至less在每次返回之后似乎都没有做好。 通过使用Flask-SQLAlchemy扩展从MySQL数据库中检索任务。 谢谢! 编辑:这是我的uwsgiconfiguration文件(/etc/flask-uwsgi/flask-uwsgi.ini): [uwsgi] master = true die-on-term = true processes = 1 threads = 2 logger = file:/var/log/flask-uwsgi/flask-uwsgi.log 我称之为: uwsgi –socket 127.0.0.1:8080 -w […]

Nginx,Flask,Gunicorn 502错误

对于Flask / Nginx / Gunicorn,我还是很新的,因为这只是我第二个使用这个组合的站点。 我创build了一个基于Miguel Grinberg的教程的网站,所以我的文件结构与本教程完全相同。 在我以前的Flask应用程序中,我的应用程序位于一个名为app.py文件中,所以当我使用app.py时,我只是打电话给他 gunicorn app:app 现在,我的新应用程序被分割成多个文件,我用一个文件run.py来启动应用程序,但我不知道现在应该如何调用Gunicorn。 我已阅读其他问题和教程,但他们没有奏效。 当我运行gunicorn run:app ,我试图访问该网站,我得到一个502错误的网关错误。 我觉得我的问题比Nginx或Flask更加Gunicorn,因为如果我只input./run.py 。 无论如何,我已经在下面包含了我的Nginxconfiguration和其他几个文件。 非常感谢你的帮助! 文件: run.py #!flask/bin/python from app import app from werkzeug.contrib.fixers import ProxyFix app.wsgi_app = ProxyFix(app.wsgi_app) app.run(debug = True, port=8001) 文件: app/views.py from app import app @app.route('/') @app.route('/index') def index(): posts = Post.query.order_by(Post.id.desc()).all() return render_template('index.html', posts=posts) 文件: nginx.conf […]

如何通过烧瓶处理web api

我正在使用Nginx + uWSGI + Flask构build一个Web服务API。 我遵循http://flask.pocoo.org/docs/0.10/deploying/uwsgi/如下 在Nginx中,我想让Flask处理所有的请求appapi,而其他的则由nginx来处理。 恩。 http://www.example.com/appapi/query?name=123将由烧瓶处理 http://www.example.com/将由nginx处理。 我添加下面的configuration让瓶子处理。 location = /appapi { rewrite ^ /appapi /; } location /appapi { try_files $uri @appapi ; } location @appapi { include uwsgi_params; uwsgi_param SCRIPT_NAME /appapi; uwsgi_modifier1 30; uwsgi_pass 127.0.0.1:3301; } uWSGI监听3301端口,并将加载烧瓶应用程序,Flask应用程序代码。 我已经定义了appapi的路线 @app.route('/appapi/query', methods=['GET']) def query(): print 'query()' 但我发现查询function没有被调用,并在日志中。 它返回404,没有find。 提前致谢!

为Python Flask应用程序创build代理

我们有一个内部应用程序,后端是用Java编写的,前端是用HTML,Javascript等编写的。 该应用程序使用nginx服务器托pipe。 但是,我有另一个Web应用程序是在Python的瓶子里写的,老板想把这两个工具集成在一起。 比如说,最初的项目(Java解决scheme)具有域名 inv.datafireball.com 而pipe理员告诉我,他可以通过这种方式更改nginx的configuration文件,路由可以映射/代理到另一台服务器上运行的第二个应用程序 inv.datafireball.com/competitor -> datafireball.com:5000 但是,根据我的研究,Python应用程序中的所有path都需要重新编码: /static/js/d3.js需要更改为/competitor/static/js/d3.js … 我们硬编码几条path看起来非常有前途,但是,我们的Python应用程序是相当大的,它是手动更改所有path后真的是一个大批量。 任何人都可以给我一个指导,如果有一个简单的方法来映射/代理一个Python烧瓶应用程序到用Java编写的现有应用程序与改变现有的Python代码?

如何在uWSGI中正确加载Flask应用程序模块?

[编辑] 我设法通过从项目文件夹中启动uwsgi来加载烧瓶应用程序模块。 我现在有一个nginx没有权限套接字文件的问题(向下滚动到问题的结尾)。 如果有人可以帮助.. ..? [/编辑] 按照这个教程,我试图用uWSGI和nginx运行我的Flask网站。 完全按照教程所说的那样工作正常。 我现在想要运行自己的网站。 我自己的网站项目的结构如下所示: myownproject |-app | -__init__.py |-run.py |-myownproject_nginx.conf |-myownproject_uwsgi.ini 在哪个app加载在__init__.py像这样: app = Flask(__name__) myownproject_uwsgi.ini如下所示: [uwsgi] #application's base folder base = /home/kramer65/myownproject #python module to import app = app module = %(app) # I disabled these lines below because I don't use a venv (please don't ask) # […]

Nginx,uWSGI,Flask应用程序不显示更改,直到服务器重新启动

每次我更新我的Python文件时,我必须重新启动服务器才能看到更改。 我已经尝试重新启动Nginx和uWSGI没有运气。 Flask正在debugging模式下运行。 如何在不重新启动整个服务器的情况下查看更改? app.py from flask import Flask import time import cv2 app = Flask(__name__) @app.route("/") def main(): return "Hello cob at " + time.time().__str__() + "\n" if __name__ == "__main__": app.run(debug=True) uwsgi.ini [uwsgi] socket = :9090 plugin = python wsgi-file = /home/vagrant/PythonVision/app.py process = 3 callable = app nginx.conf server { location / […]

反向代理:在Nginx上使用Bokeh服务器的Flask应用程序

我已经创build了一个Flask的网站,在一个数字海洋VPN上提供一个Bokeh应用程序。 一切正常,直到我使用Let's Encrypt保护服务器遵循本教程 。 在本教程的第3步中,Nginxconfiguration文件被更改,这可能是我得到的问题的关键: 当我进入网站时,Flask内容呈现完美。 但是,Bokeh应用程序没有运行。 在检查控制台中,我收到以下错误(请注意,我已经散列了我的网站的IP地址): Mixed Content: The page at 'https://example.com/company_abc/' was loaded over HTTPS, but requested an insecure script 'http://###.###.###.##:5006/company_abc/autoload.js?bokeh-autoload-element=f…aab19c633c95&bokeh-session-id=AvWhaYqOzsX0GZPOjTS5LX2M7Z6arzsBFBxCjb0Up2xP'. This request has been blocked; the content must be served over HTTPS. 我明白,我可能不得不使用一种称为反向代理的方法,这在这里描述。 但是,我没有能够得到它的工作。 有没有人有一个想法如何解决这个问题? 这里描述了一个类似的问题。 这里是我修改的服务器文件: '在/ etc / nginx的/网站可用/默认': upstream flask_siti { server 127.0.0.1:8118 fail_timeout=0; } server { listen […]

与Flask应用程序的uwsgi给“可找不到或导入错误”

我想使用Python 3和nginx在virtualenv中提供一个基本的Flask应用程序。 我收到错误 内部服务器错误 当我试图浏览到该页面。 我也看到/var/log/uwsgi/app/myproj.log中的错误,导致我相信错误在我的uwsgiconfiguration文件中。 nginx和uwsgi似乎沟通得很好。 这是我的目录结构: /srv/http/myproj/ |—– setup.py |—– env/ |—– myproj/ |—– __init__.py |—– myproj.py /etc/uwsgi/apps-enabled/ |—– myproj.ini /etc/nginx/sites-enabled/ |—– myproj 这是我在/var/log/uwsgi/app/myproj.log看到的错误: Thu Jun 8 00:00:41 2017 – *** Operational MODE: preforking *** Thu Jun 8 00:00:41 2017 – unable to load app 0 (mountpoint='') (callable not found or import error) […]

用于媒体文件的Flask send_from_directory

您好,我有一个从家庭networking使用注定的小Flask应用程序。 目前,我有Flask与uWSGI和nginx运行。 该应用程序基本上扫描一个位置,并提供媒体文件。 以下是渲染这些文件的代码: @app.route('/get_media/<path:filename>', methods=['GET']) def get_media(filename): return send_from_directory('/media/', filename) send_from_directory工作正常,但似乎很慢。 我必须承认,我并不真正了解它背后的过程。 python是提供这些文件还是nginx? 我希望nginx能够服务这些文件,但我不确定如何configuration别名,因为我希望应用程序能够遍历文件的目录,但是想将服务提供给nginx。 任何指导非常赞赏。