Articles of uwsgi

错误2006年:MySQL服务器已经消失

我使用uWSGI和nginx在CentOS服务器上运行Python金字塔应用程序。 我使用SQLAlchemy作为ORM,MySQLdb作为API,MySQL作为数据库。 该网站还没有活着,所以唯一的交通是我和公司的其他员工。 我们购买了一些数据来填充数据库,所以最大的(也是最经常查询的)表是大约150,000行。 昨天我迅速连续打开了网站的四个新标签,并且收到了一些502错误的网关错误。 我查看了uWSGI日志,发现如下: sqlalchemy.exc.OperationalError: (OperationalError) (2006, 'MySQL server has gone away') 'SELECT ge… 重要提示:这个错误不是由于MySQL的wait_timeout造成的。 去过也做过。 我想知道这个问题是否是由同时服务的并发请求造成的。 我使自己成为一个穷人的负载testing仪: for i in {1..10}; do (curl -o /dev/null http://domain.com &); done; 果然,在这十个请求中,至less有一个会抛出2006年的错误,时常更多。 有时错误会变得更加陌生,例如: sqlalchemy.exc.NoSuchColumnError: "Could not locate column in row for column 'table.id'" 当列最肯定存在和工作正常所有其他相同的请求。 或者,这个: sqlalchemy.exc.ResourceClosedError: This result object does not return rows. It has […]

如何通过bash脚本来优雅的uwsgi重新加载?

我有一个正在执行bash脚本的django应用程序。 我需要nginx服务器重新启动,所以我运行/etc/init.d/nginx reload这很好。 我一直在使用restart uwsgi uwsgi,但我需要做一个优雅的重新加载,而不是硬重启服务器。 我该怎么做? 我目前正在运行一个bash通过reload uwsgi函数。 它似乎只是重新加载调用subprocess,而不是由uwsgi实例托pipe的所有网站的过程。 importing uwsgi uwsgi.reload并运行uwsgi.reload似乎也只影响调用过程。 是否有一个开关为uwsgi通过Python或bash,允许重新启动所有uwsgi进程

将uWSGI连接到Ubuntu 16.04上的Django和nginx

我正在试图按照这个教程来设置Ubuntu 16.04上的Django和nginx uWSGI 。 这一切工作正常,直到最后一步(哦,讽刺…),我试图执行此命令: sudo service uwsgi start 如果失败,出现以下错误: 无法启动uwsgi.service:找不到单位uwsgi.service。 其他人似乎也得到了类似的错误: 无法启动uwsgi.service:单位uwsgi.service未能加载:没有这样的文件或目录。 这个问题似乎与Ubuntu的版本有关。 虽然这个教程是针对Ubuntu 14.04的,但它似乎不适用于较新的版本,因为在版本15中,Ubuntu从upstart init守护进程切换到了systemd init守护进程 。 我怎样才能使用systemd来启动uWSGI,以便它与nginx和Django一起工作?

如何在configuration中没有pidfile时停止uwsgi?

我刚刚通过pip install uwsgi在虚拟环境中pip install uwsgi 。 在我使用的“ini”文件中: socket = 127.0.0.1:3000 # no pidfile option 运行uwsgi –ini config.ini 但是如何阻止这个uwsgi的实例呢? uwsgi –stop …想要一个pid文件。 我不能使用地址: open("127.0.0.1:3000"): No such file or directory [core/io.c line 505] 而如果杀死 – uwsgi只是自己重生。

如何修改Python脚本时重新启动uWSGI?

不记得在哪里,但我读了当项目脚本被修改时,uWSGI可以重新加载自己像Django开发服务器。 我无法在文档中find,也没有在互联网上find。 我该怎么做? 我在我的工作机器上使用Ubuntu 12.04,在舞台和制作服务器上使用Debian Squeeze,Django 1.4和uWSGI 1.2。

当我有uWSGI时,为什么需要nginx?

当我想部署Django应用程序时,有很多关于如何configurationnginx与uWGSI配合的教程。 但是为什么我需要在这个套件中使用nginx? uWSGI本身可以服务于WSGI Python应用程序,它可以提供静态文件,也可以做SSL。 nginx能做哪些uWSGI不能做的?