Articles of uwsgi

资源暂时不可用使用uwsgi + nginx

我有使用nignx-uwsgi django应用程序主机。 这是我的uwsgiconfiguration: [uwsgi] master = true socket = /var/uwsgi/uwsgi.sock chmod-socket = 666 chdir = /home/ubuntu/test wsgi-file = /home/ubuntu/test/test/wsgi.py virtualenv = /home/ubuntu/virtual vacuum = true enable-threads = true daemonize= /home/ubuntu/uwsgi.log 我在nignx日志中出错 2017/06/16 04:25:42 [error] 26129#0:* 1141328连接到上游的客户端连接()到unix:///var/uwsgi/uwsgi.sock失败(11:资源暂时不可用) xxx.xxx.xx,服务器: 而该网站显示502坏的网关。 我必须重新启动uwsgi来修复它。 但是错误的频率在增加。 有没有什么办法解决这一问题。

如何创buildmysite.wsgi文件?

我正在学习这个教程http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html用nginx和uwsgi设置django。 但是我对这条线感到困惑: uwsgi –http :8000 –module mysite.wsgi 在教程中,没有关于mysite.wsgi文件的信息。 这个文件应该是什么内容?

如何减less我的Python应用程序连接到MySQL服务器的超时

我们有一个与uwsgi,nginx运行的python应用程序。 我们有DB的回退机制。 即,如果一个服务器拒绝连接,我们连接到另一个服务器。 但问题是连接超过60秒超时。 由于nginx在60年代超时,它显示nginx错误页面。 我们在哪里可以改变连接到MySQL服务器的超时时间,以便我们可以在给定的60年代nginx超时时间内连接到mysql的三次尝试? 我们在pymysql适配器中使用Web2py和默认的DAL对象

configurationnginx使用python3.2

我在configurationnginx使用Python3.2时遇到了一些麻烦。 我也在努力寻找类似于这个问题的体面教程的东西。 但是,我find了一个相当不错的教程,让nginx能够和Python2.7一起玩。 我的思考过程是,因为uwsgi与插件一起工作,所以按照Python2.7教程进行操作应该是一个相对简单的练习,只需要换出python插件即可。 这里是我遵循的教程来获得一个基本的Hello World网站的工作: https : //library.linode.com/web-servers/nginx/python-uwsgi/ubuntu-12.04-precise-pangolin /etc/uwsgi/apps_available/my_site_url.xml看起来像: <uwsgi> <plugin>python</plugin> <socket>/run/uwsgi/app/my_site_urlmy_site_url.socket</socket> <pythonpath>/srv/www/my_site_url/application/</pythonpath> <app mountpoint="/"> <script>wsgi_configuration_module</script> </app> <master/> <processes>4</processes> <harakiri>60</harakiri> <reload-mercy>8</reload-mercy> <cpu-affinity>1</cpu-affinity> <stats>/tmp/stats.socket</stats> <max-requests>2000</max-requests> <limit-as>512</limit-as> <reload-on-as>256</reload-on-as> <reload-on-rss>192</reload-on-rss> <no-orphans/> <vacuum/> </uwsgi> 一旦一切正常工作,通过apt-get安装uwsgi-plugin-python3。 ls -l /usr/lib/uwsgi/plugins/现在输出: -rw-r–r– 1 root root 142936 Jul 17 2012 python27_plugin.so -rw-r–r– 1 root root 147192 Jul 17 2012 python32_plugin.so lrwxrwxrwx 1 […]

在uwsgi中的nginx负载平衡

我是uwsgi的新手,试图理解它是如何工作的。 在uwsgi说我有两个安装说 1) uwsgi –socket /tmp/uwsgi.sock –socket 127.0.0.1:8000 –master –process 2 –workers 1 这是一个具有两个subprocess的uwsgi进程,每个进程有三个线程监听端口8000 2) uwsgi –socket /tmp/uwsgi.sock –socket 127.0.0.1:8000 –master –process 2 –workers 3 uwsgi –socket /tmp/uwsgi2.sock –socket 127.0.0.1:8001 –master –process 2 –workers 3 同样的,2个uwsgi进程监听端口8000和8001 疑问1:我们可以configurationuwsgi进程像(2)那样运行,并让它们在nginx中configuration? 疑问2:什么时候nginx负载均衡请求(a)是否有多​​个uwsgi进程监听多个端口(b)是否有单个uwsgi进程有多个subprocess 哪个更好(a)或(b),或者这是不是正确的方式来使用nginx来负载均衡uwsgi进程,如果不是如何?

AWS ELB无法解释的延迟

我们最近遇到了无法解释的延迟问题,因为我们使用AWS设置从ELB延迟度量标准反馈。 我们的设置包括3个EC2 c1.medium机器(每个运行一个NGINX,与机器上的uWSGI处理器对话),在ELB后面。 现在,我们的stream量在早晚都有峰值,但是这并不能解释我们所看到的情况,即在延迟10秒钟的高峰期,stream量达到了峰值。 我们的NGINX日志和uWSGI统计数据显示,我们不排队任何请求,响应时间在500毫秒以下。 一些configuration细节: ELB监听端口8443并转移到8080 NGINX在每个EC2上有以下configuration: worker_processes 2; pid /var/run/nginx.pid; events { worker_connections 4000; multi_accept on; use epoll; } http { server { reset_timedout_connection on; access_log off; listen 8080; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:3031; } } } 我想知道是否有人经历过类似的事情,或者可以提供解释。 谢谢..

login不支持Django + nginx + uwsgi

我有相当简单的login逻辑 – 类似于官方的Django解决scheme。 class Login(FormView): template_name = 'login.html' form_class = AuthenticationForm def get(self, *args, **kwargs): if self.request.user.is_authenticated(): return self._get_success_url(self.request) return super(Login, self).get(*args, **kwargs) def form_valid(self, form): self.auth(self.request, form.get_user()) return super(Login, self).form_valid(form) def form_invalid(self, form): messages.error(self.request, u'Invalid username or password') return super(Login, self).form_invalid(form) def get_success_url(self): return self._get_success_url(self.request) @staticmethod def _get_success_url(request): if 'next' in request.GET: return request.GET['next'] […]

uwsgi ImportError:没有名为os的模块

我教自己如何设置一个Ubuntu服务器来运行我的Django应用程序。 我想使用Nginx + uwsgi。 我知道这个问题对于专家来说可能非常简单,但是我已经花了6天的时间在网上查找,但是没有得到它(在任何情况下,如果答案中有任何链接,请原谅我)。 我跟着很多教程和post,但我没有find一个解决scheme。 我在下面描述我的文件结构: 我的django项目位于/ usr / local / projects / myproject 我的virtualenv在/root/.virtualenvs/myproject 我的uwsgiconfiguration文件myproject.ini位于/ etc / uwsgi / apps-available /中,正确符号链接在/ etc / uwsgi / apps-enabled / [uwsgi] plugins = python socket = /tmp/myproject.sock chmod-socket = 644 uid = www-data gid = www-data master = true enable-threads = true processes = 2 no-site=true […]

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 […]

不能获得权限运行uWSGI皇帝

我有一段时间试图让Ubuntu + uWSGI + nginx作为我的networking服务器运行。 以下是我的configuration,以及我的emperor.log文件中的信息: nginxconfiguration: server { listen 80; server_name localhost; charset utf-8; client_max_body_size 5M; location / { try_files $uri @cc; } location @cc { include uwsgi_params; uwsgi_pass unix:/tmp/cc/cc_uwsgi.sock; } } uwsgiconfiguration: [uwsgi] base = /srv/www/cc app = hello module = %(app) socket = /tmp/cc/%n.sock chmod-socket = 664 uid = www-data gid = […]