Nginx正确记录post日志的方法

事实上可以很简单,这取决于把 access_log 放在哪个 location 里面。

一,放到包含fastcgi_pass或proxy_pass的Location里面。

如下:

[php] view plaincopy

location ~ \.php$ {
root /data/webapps;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /data/webapps$fastcgi_script_name; access_log post_log /tmp/post.log
} post_log 为 http 区域里面定义的日志格式,可以是这样: [php] view plaincopy log_format post_log '$remote_addr - $request_body'; $request_body 即为post的数据。 然后post数据到这个目录下的.php文件,就可以记录post日志了。 二,放到任意Location里面。 具体步骤如下:
,安装LuaJIT wget http://luajit.org/download/LuaJIT-2.0.1.tar.gz
tar -zxvf LuaJIT-2.0..tar.gz
make PREFIX=/data/apps/luajit2.0.1
make install PREFIX=/data/apps/luajit2.. ,下载并解压以下两个个模块
http://github.com/simpl/ngx_devel_kit/tags
http://github.com/chaoslawful/lua-nginx-module/tags 把解压后的2个目录分别移动到 /usr/local/src/ 目录下面(个人习惯而已) ,重新编译Nginx export LUAJIT_LIB=/data/apps/luajit2.0.1/lib
export LUAJIT_INC=/data/apps/luajit2.0.1/include/luajit-2.0
./configure --prefix=/data/apps/nginx --add-module=/usr/local/src/ngx_devel_kit-0.2. --add-module=/usr/local/src/lua-nginx-module-0.9.
make -j2
make install ,然后在需要记录post日志的Location里面加上如下语句: [php] view plaincopy lua_need_request_body on;
content_by_lua 'local s = ngx.var.request_body';
log_format post_log '$remote_addr - $request_body'; ,在启动Nginx的时候如果报错:
error while loading shared libraries: libluajit-5.1.so.: cannot open shared object file: No such file or directory 解决:
ln -s /data/apps/luajit2.0.1/lib/libluajit-5.1.so. /lib64/libluajit-5.1.so. 参考文档:
http://www.cnblogs.com/meteorx/p/3188647.html
http://wiki.nginx.org/HttpLuaModule#Synopsis

Nginx正确记录post日志的方法的更多相关文章

  1. (转) ORACLE 正确删除归档日志的方法

    ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中 ...

  2. Oracle 正确删除归档日志的方法

    我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件 ...

  3. asp.net记录错误日志的方法

    1.说明 在调试发布后的asp.net项目时有可能会遇到意想不到的错误,而未能及时的显示.这就需要记录日志来跟踪错误信息,所以写了个简单的记录信息的方法,记录简单的文本信息也可以使用.此方法是以生成文 ...

  4. Apache日志不记录图片文件设置方法和来源日志的配置

    Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch&g ...

  5. NGINX配置获取CloudFlare 下的访客真实IP并记录到日志

    我用的是lnmp.org的环境 /usr/local/nginx/conf/nginx.conf 在 http { } 部分增加 map $HTTP_CF_CONNECTING_IP $clientR ...

  6. nginx不记录指定文件类型的日志

    1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwa ...

  7. nginx不记录指定文件类型日志

    1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwa ...

  8. 关于记录log日志的几种方法

    最近在记录日志的时候总结了几种方式: 1.使用log4j2记录 2.使用log4j记录 3.使用logback配置,记录前使用 private  final Logger logger = Logge ...

  9. 记录php日志

    1.记录PHP错误日志 display_errors与log_errors的区别 display_errors 错误回显,一般常用于开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴 ...

随机推荐

  1. centos6.5安装flume

    这里安装flume是因为游戏业务日志搜集和分析用的 1.安装java 环境rpm -ivh jdk-8u51-linux-x64.rpm Preparing... ################## ...

  2. DOS环境下含包并引用第三方jar的java程序的编译及运行

    DOS环境下含包并引用第三方jar的java程序的编译及运行 1.程序目录机构 bin:class文件生成目录 lib:第三方jar包目录 src:源程序文件目录 2.程序代码: 3.程序编译 jav ...

  3. Debian7系统安装配置手册

    一.安装系统 系统版本:Debian7 参考资料:http://www.myhack58.com/Article/48/66/2013/39802.htm 二.配置源 vi /etc/apt/sour ...

  4. Android emulator warning----Emulator window was out of view and was recentred

    最近在打开Android emulator时,总会提示“Emulator window was out of view and was recentred ”,然后无法打开模拟器,但是可以使用Win7 ...

  5. DataSnap数据库连接池,数据集对象池的应用

    传统的应用服务器的开发往往是在ServerMethods单元中拖放一堆TDataSet, TDaTaSetProvider控件,这是一个最简单粗暴的开发方向,往往会造成服务端程序文件的臃肿.服务运行期 ...

  6. Struct是干什么的

    对于结构(Struct)这一看起来比较特殊的东西(用的比较少,只好用东西来形容了),真心用得少,只有在被问起的时候,才会想起,看看它到底是什么吧. 先给一个链接:http://www.cnblogs. ...

  7. 系统中使用frameset和Iframe刷新页面session失效

    问题:Asp.net中每次刷新页面,session中保存的只就丢失 原因: 1.有些杀毒软件会去扫描web.config文件 2.程序内部有让session丢失的代码,或服务器内存不足 3.程序有框架 ...

  8. 失败经历--在windows下安装meld

    缘起 在linux下,最早用的比较工具是vim,这是作为一个vimer的自尊(其实没有关系吧).终于有一天,在比较同一个项目的两个版本的时候,比较了两三个文件后,看着vim里面花花绿绿的颜色,实在是受 ...

  9. 非阻塞io与记录锁

    非阻塞io 1.对比 阻塞io的例子:scanf从终端获取输入时,如果不输入程序就会一直停在那; 对一个已经有写锁的文件请求读时, 会一直空等直到前面的进程释放锁... 非阻塞的例子:读取文件内容, ...

  10. 【nodejs】 npm 注意事项

    官网:https://www.npmjs.com/ 1.安装时要切换到nodejs根目录,  否则就会安装到安装时所在的目录 2.要有管理员权限(win),如需指定版本,如npm install ex ...