加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

http – 将nginx请求保存为文件的最佳方法?

发布时间:2020-12-13 21:32:26 所属栏目:Nginx 来源:网络整理
导读:我正在寻找一种解决方案,通过nginx(v1.2.9)尽快(通过最低开销)保存通过http(例如作为POST)发送的数据.我尝试了以下nginx配置,但没有看到目录中写入的任何文件: server { listen 9199; location /saveme { client_body_in_file_only on; client_body_temp_pa

我正在寻找一种解决方案,通过nginx(v1.2.9)尽快(通过最低开销)保存通过http(例如作为POST)发送的数据.我尝试了以下nginx配置,但没有看到目录中写入的任何文件:

server {
  listen 9199;
  location /saveme {
    client_body_in_file_only on;
    client_body_temp_path /tmp/bodies;
  }
}

我究竟做错了什么?和/或有更好的方法来实现这一目标吗? (理想情况下,写入的数据应该是每个请求一个文件,如果它本质上是“原始”的则无关紧要.文件的后处理将通过队列通过单独的进程完成.)

最佳答案
这个问题已经是answered here了:

基本上,您需要结合使用log_format和fastcgi_pass.然后,您可以使用access_log指令来指定应将保存的变量转储到的位置.

location = /saveme {
  log_format postdata $request_body;
  access_log  /var/log/nginx/postdata.log  postdata;
  fastcgi_pass php_cgi;
}

它也可以用你的方法,但我认为你缺少client_body_buffer_size和`client_max_body_size

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读