小编ngw*_*ngw的帖子

上游响应被缓冲到一个临时文件

我有一个相当大的和缓慢的(复杂的数据,复杂的前端)的Web应用程序构建RoR并担任Pumanginx作为反向代理。查看nginx错误日志,我看到很多条目,例如:

2014/04/08 09:46:08 [warn] 20058#0: *819237 an upstream response is buffered to a temporary file 
    /var/lib/nginx/proxy/8/47/0000038478 while reading upstream, 
    client: 5.144.169.242, server: engagement-console.foo.it, 
    request: "GET /elements/pending?customer_id=2&page=2 HTTP/1.0", 
    upstream: "http://unix:///home/deployer/apps/conversationflow/shared/sockets/puma.sock:/elements/pending?customer_id=2&page=2", 
    host: "ec.reputationmonitor.it", 
    referrer: "http://ec.foo.it/elements/pending?customer_id=2&page=3"
Run Code Online (Sandbox Code Playgroud)

我很好奇,因为对于不同的用户和不同的用户交互,页面不太可能保持相同,而且我不认为在磁盘上缓冲响应是必要的/有用的。

我知道proxy_max_temp_file_size并将其设置为 0,但在我看来有点尴尬(我的代理尝试缓冲但没有文件可以缓冲到...怎么能更快?)。

我的问题是:

  1. 如何删除 [warn] 并避免缓冲响应?关闭proxy_buffering还是设置proxy_max_temp_file_size为0更好?为什么?

  2. 如果nginx缓冲响应:它什么时候提供缓冲响应,给谁,为什么?

  3. 为什么默认情况下nginx打开proxy_buffering然后[警告]如果它实际上缓冲了响应?

  4. 响应何时触发该选项?当需要> 几秒钟(多少?)来提供响应时?这个可以配置吗?

TIA,ngw。

nginx reverse-proxy buffer

87
推荐指数
2
解决办法
15万
查看次数

使用字符串替换的 nginx url 重写

我需要知道我的 url 是否包含一个小的 substr,保持 url 原样并只重写那一小部分,我该如何完成?

例如:

http://foobar.com/foo-bar-substrtocatch-baz 
Run Code Online (Sandbox Code Playgroud)

应该成为

http://foobar.com/foo-bar-changedsubstr-baz
Run Code Online (Sandbox Code Playgroud)

提前致谢...

rewrite nginx

4
推荐指数
1
解决办法
2万
查看次数

在 nginx 中使用 UNIX 套接字

我想澄清一些关于使用 nginx 代理通过瘦服务器集群 ( http://code.macournoyer.com/thin/ )代理请求的疑问。我读过很多关于使用 UNIX 套接字而不是 TCP 连接的博客文章,我唯一的疑问是多服务器配置,其中集群分布在多台机器上,代理充当前端。如何共享 UNIX 套接字?我应该共享包含 .sock 文件的目录还是我遗漏了什么?你们如何处理这种部署?

ps hhttp://macournoyer.wordpress.com/2008/01/26/get-intimate-with-your-load-balancer-tonight/

unix nginx ruby socket thin

1
推荐指数
1
解决办法
1690
查看次数

标签 统计

nginx ×3

buffer ×1

reverse-proxy ×1

rewrite ×1

ruby ×1

socket ×1

thin ×1

unix ×1