假设我的configuration( uwsgi.ini )如下所示: # can run just by uwsgi uwsgi.ini [uwsgi] # put all common elements here (can be over-ridden) http = :8090 wsgi-file = ./test.py master = 1 processes = 4 threads = 2 #uid=www-data #gid=www-data # run via: uwsgi –ini uwsgi.ini:dev [dev] ini=:uwsgi py-autoreload = 2 # run via: uwsgi –ini uwsgi.ini:prod [prod] […]
我正在使用Nginx,uWSGI,Django和Postgresql堆栈构build应用程序。 该应用程序在Nginx和uWSGI之间使用Unix套接字。 在套接字上的文件权限是775.但我仍然得到这个权限错误: [error] 6978#0: *6725 connect() to unix:/path/to/socket failed (111: Connection refused) while connecting to upstream, client: 54.250.253.225, server: example.com, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/path/to/socket:", host: "example.com" Nginxconfiguration # uWSGI upstream upstream app{ server unix:/path/to/socket; } # redirect www to non-www server{ listen 80; server_name www.example.com; return 301 http://example.com$request_uri; } # configuration of […]
为了尝试和减less我们的Web服务器上的内存使用情况,我必须将我的uwsgiconfiguration中的max-requests属性设置为50。 这是什么东西? 我们现场有10名工人,看起来工人每20分钟左右就要回收一次,但至less到目前为止,似乎正在达到预期的效果,我们没有接近我们的记忆极限。 我只是稍微担心,这可能会对用户产生副作用,但我不确定。 有任何想法吗?
我试图在uwsgi下的ubuntu服务器上安装Pootle服务器。 虽然我的本地开发服务器上的一切正常,当在线我得到这个错误,我无法克服。 它似乎与应用程序有关,而不是服务器相关的,但因为它在我的(相同的)开发服务器上工作…神圣的悲伤…我不知道! 提前tnx! 加布里埃莱 [uWSGI] getting INI configuration from pootle.ini *** Starting uWSGI 0.9.9-dev-1458-unbit (32bit) on [Fri Sep 2 18:53:36 2011] *** compiled with version: 4.2.4 (Ubuntu 4.2.4-1ubuntu4) on 29 August 2011 11:37:34 detected binary path: /opt/unbit/bin/uwsgi your process address space limit is 67108864 bytes (64 MB) your memory page size is 4096 bytes […]
我通过uwsgi和nginx运行django,每当我的应用程序尝试设置一个cookie,nginx显示一个405错误。 该应用程序工作正常与Apache,runserver或gunicorn,和uwsgi服务通常除了redirect问题。 我正在运行uwsgi: uwsgi –master –http-socket :8082 \ –wsgi-file /var/django/mysite/apache/live.wsgi \ –touch-reload /var/django/mysite/apache/live.wsgi 我的live.wsgi文件如下所示: import os, sys PROJECT_ROOT = '/var/django/mysite/' directory = os.path.join(PROJECT_ROOT, 'src') if not directory in sys.path: sys.path.insert(0, directory) os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() nginx正在代理请求127.0.0.1:8082这个网站。 更新:奇怪的是,这个问题似乎是由django的消息框架触发 – 删除django.contrib.messages.middleware.MessageMiddleware停止错误。 这导致我认为这与redirect没有任何关系,而是与在django admin中保存的对象上创build的消息有关。 更新2:一些进一步挖掘显示,它似乎是一个问题与设置cookie – 切换消息框架使用会话后端停止错误。 我仍然不知道为什么uwsgi / nginx堆栈不会让django设置cookie。 我已经更新了这个问题来反映这一点。
在CentOS 6服务器上部署Flask应用程序时遇到了很多麻烦。 我知道关于这个问题还有其他一些问题,但是我还没有成功。 描述 默认的Python是Python 2.6.6 nginx版本是1.0.15 uWSGI版本是1.2.5 我的virtualenv文件夹是/home/me/dev/.venv 我的virtualenv Python版本是2.7.3(我想用uWSGI运行Python 2.7.3) 我的app.run() Python文件是/home/me/dev/runserver.py 我的文件,模块,类等在/ home / me / dev / contacts下 我试过了 这里是nginx.conf的相关部分: server { listen 80; access_log off; # … location / { include uwsgi_params; uwsgi_pass 127.0.0.1:3031; } } 这里是完整的runserver.py: from contacts import app if __name__ == "__main__": app.run() 根据文档,我试图运行以下命令: uwsgi -H .venv/ […]
出于某种原因,nginx在处理长时间运行的请求(5分钟)之后会在一段时间(2分钟)之后停止任何新的请求。 user www-data www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 1024; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 200; client_max_body_size 12M; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; gzip on; gzip_vary on; gzip_proxied any; gzip_comp_level 9; gzip_buffers 16 8k; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; include /usr/local/nginx/sites/*.conf; […]
我很难让Django和uWSGI在Ubuntu(12)上玩得很好。 似乎wsgi正在加载,然后该应用程序立即崩溃。 没有一个uwsgi日志给我任何东西去。 我正在使用标准的Django 1.4 wsgi与下面的uwsgiconfiguration: [uwsgi] project = djangoproject base_dir = /home/www/mywebsite.com uid = www-data gid = www-data plugins = http,python processes = 4 harakiri = 60 reload-mercy = 8 cpu-affinity = 1 max-requests = 2000 limit-as = 512 reload-on-as = 256 reload-on-rss = 192 no-orphans = True vacuum = True master = True […]
我想知道如何把我的整个Django网站后面的HTTPS。 如果有人试图通过HTTP来,我希望该用户被redirect到HTTPS。 目前,Firefox给我的错误是“Firefox已经检测到服务器正在redirect这个地址的请求,永远不会完成”。 我的设置是: 1.一个带SSL证书的AWS负载均衡器(ELB)ELB有两个监听器: 负载均衡器端口80(HTTP)指向实例端口80(HTTP) 指向实例端口80(HTTP)的负载平衡器端口443(HTTPS) 2.运行nginx / uWSGI的ELB后面有一个EC2实例 nginxconfiguration server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl; set $home /server/env.example.com; client_max_body_size 10m; keepalive_timeout 120; location / { uwsgi_pass uwsgi_main; include uwsgi_params; uwsgi_param SCRIPT_NAME ""; uwsgi_param UWSGI_CHDIR $home/project; uwsgi_param UWSGI_SCRIPT wsgi; uwsgi_param UWSGI_PYHOME $home; } } uwsgiconfiguration # file: […]
在将我们的Web服务器从Debian移动到Ubuntu之后,我们注意到uWSGI主服务器和辅助进程使用的内存(RSS)数量大量增加。 uWSGI(1.9.13)的版本保持不变。 我用pmap来检查每个进程的内存使用情况。 在Debian下,一个主进程看起来像这样: Address RSS Dirty Mode Mapping —————- —— —— —— kB 15976 11316 0000000001a880000 7308 7308 rw— [anon 400000 1608 0 rx– uwsgi 00007ff16c5a70000 772 772 rw— [anon 00007ff176c3a0000 668 0 rx– libcrypto.so.0.9.8 00007ff175f010000 548 0 rx– libc-2.11.3.so 00007ff177fc70000 512 512 rw— [anon 00007ff17807b0000 512 512 rw— [anon 00007ff1759e50000 356 0 rx– […]