Articles of python

uwsgi:什么定义了Django应用程序需要的工作者/进程的数量?

我有一个系统pipe理员和开发人员的问题。 我看到uWSGI允许我在运行uWSGI时设置数量或工作人员或进程,并且我已经读取了它取决于所安装的机器,所以我有下面的问题: 定义机器工人数量的规则是什么? 当与nginx一起使用时,nginx.conf中的configurationworker_processes会影响到这个吗? 与Celery和Redis一起使用时,与此相关的concurrency是什么? 这个设置中的线程安全性如何? (我在我的应用程序中看到了一个请求执行1个任务的情况,结果是2个调用芹菜这个任务。)

编写PHP非阻塞应用程序

我想写非阻塞应用程序。 我使用apache2,但是我正在阅读关于nginx及其相对于apache进程的优势。 我正在考虑更换apache的nginx。 我的问题是,是否有可能用php和nginx编写非阻塞的web应用程序? 或者是一个更好的主意,尝试使用python,使用一些反向代理如uwsgi或gunicorn与nginx? 或者是学习nodejs的解决scheme?

使用Gunicorn + Nginx + Flask有什么好处?

我看到人们正在运行Nginx + Gunicorn + Flask等设置。 有人能解释在Flask面前有Gunicorn的好处吗? 为什么不只是烧瓶运行? 有Gunicorn +烧瓶运行不消耗更多的资源吗? 它无法响应时重新启动瓶实例吗? 在gunicorn上面还有nginx的目的是什么? 是不是足够的gunicorn? 再次,更多的资源被花费?

uWSGI中的瓶子导致500内部服务器错误,只是从导入SQLAlchemy

当我通过source venv/bin/activate && python run.py运行烧瓶时,一切正常。 from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy app = Flask(__name__) @app.route("/") def hello(): return "Hello, world!" if __name__ == "__main__": app.debug = True app.run(host='0.0.0.0', port=8080) 但是当我用nginx / emperor.uwsgi运行相同的应用程序时,每次到服务器的命中返回500.如果我注释掉SQLAlchemy导入,然后加载页面,如预期的那样。 通过这个线程,我试着启用懒惰/懒应用程序,但它没有效果。 Flask正在引发exception,所以nginx / uwsgi没有logging任何东西。 我试过利用from werkzeug.debug import DebuggedApplication但仍然只是在我的浏览器中得到绝对的“骨架”内部服务器错误。 configuration: [uwsgi] uid = http gid = http socket = /var/run/project.uwsgi.sock chown-socket = […]

用Flask代理另一个Web服务

我想将对我的Flask应用程序的请求代理到本机上运行的另一个Web服务。 我宁愿使用Flask来比我们的更高级别的nginx实例,以便我们可以重用我们现有的authentication系统内置到我们的应用程序。 我们越能保持这种“单点login”越好。 是否有现有的模块或其他代码来做到这一点? 试图将Flask应用程序连接到httplib或urllib之类的东西被certificate是一种痛苦。

UndefinedError:'user'未定义

我目前正在开发一个Flask应用程序(已经过去一年了),我遇到了一个相当奇怪的错误。 我有几个文件,总是包含在我的Jinja2模板(navbars)中,他们使用用户的名字和头像。 因此,每次我渲染一个模板,我把它传递给用户。 我最近注意到我的prod服务器上有一个错误: <img alt="image" class="img-circle" src="{{ user.image }}" style="width: 48px;"/> File "/usr/local/lib/python2.7/dist-packages/jinja2/environment.py", line 397, in getattr return getattr(obj, attribute) jinja2.exceptions.UndefinedError: 'user' is undefined 这是在我的一个navbars。 呈现这个模板的方法使用这个: @mod.route('/broken_pus', methods=['POST', 'GET']) def view_broken_pus(): return render_template("view_broken_pus.html", user=g.user, urls_for_active_clients=DeletedURLs.objects()[0].urls_for_active_clients, other_urls=DeletedURLs.objects()[0].other_urls) 正如你所看到的,我传递了user = g.user。 我在我网站的每一个视图上都这样做。 而且它在任何地方都可以工作,除了这个方法非常小外。 我有很多其他的路线,只有一个渲染模板,所以我没有得到什么问题。 我还用另一种方法,比较大的方法来解决这个问题, @mod.route('/users/add', methods=['GET', 'POST']) @requires_roles("admin", "project-leader") def add(): """ Method adding a […]

区分nginx,haproxy,清漆和uWSGI / Gunicorn

我对系统pipe理员来说真的很陌生,并且只configuration了一个带有nginx(服务静态文件)和gunicorn作为web服务器的VPS。 我最近一直在阅读其他不同的东西。 我来了解其他工具: nginx :高性能的HTTP服务器和反向代理,以及一个IMAP / POP3代理服务器 haproxy :高性能负载平衡器 清漆 :cachingHTTP反向代理 gunicorn :python WSGI http服务器 uwsgi :另一个python WSGI服务器 我一直在阅读以上所有的5个工具,而且我自己也弄糊涂了哪一个是用于什么目的? 是否有人能够以平信徒的方式解释我使用的每一种工具的用途,一起使用时,他们具体关心的是什么?

如何使用python监视全局键盘事件?

我想写一个可以监视全局键盘事件的程序。 但是,我不知道如何在基于Linux的系统上实现这个function。 任何人都知道如何开始?

将IPconfiguration从一个接口移到另一个接口

我正在开发testing一个networking应用程序的Python脚本。 作为testing的一部分,需要将networkingconfiguration(IP地址,路由…)从一个接口( 物理接口 )移动到另一个接口( 网桥 ),并且在testing完成后,将系统恢复到原始状态。 什么是在Python中完成这个最优雅的方法? 我曾经想过的一些想法: testing期间不要从物理接口取消分配IP地址,这样路由不会丢失。 但是这意味着在testing过程中,同一个IP地址将会在网桥上共存。 这会在某些特定的Linux内核上出现问题吗? 虽然,它似乎在我的系统上工作得很好… 分配IP地址以从物理接口 桥接和取消分配。 易于在Python中实现,因为这需要做简单的ifconfig调用和parsing。 但是,如果默认路由是通过物理接口 ,那么当我从物理接口取消分配IP地址时,它将同时消失。 parsingip route ls输出并将路由与IPconfiguration一起移动。 这似乎是唯一合理的方法,但需要相当多的编码。 也许有更优雅的东西? 像iptables-save eth0>eth0_conf , iptables-restore eth0_conf ? 还有其他build议吗? 这个testing工具必须是可移植的,并且能够运行在不同的Linux内核上。

Python的PyInstaller的Ubuntu的烦恼

我一直在寻找如何使用pyinstaller的教程,并找不到我可以遵循的一个。 我一直在研究这个好几个小时,找不到任何帮助我的东西。 我正在使用Linux,并想知道是否有人可以帮助我的forms乞讨,因为没有一个部分我明白这一点。 我也有三个文件组成一个程序,并且也使用了Tkinter,所以我不知道这是否会让它变得更加困难。