Nginx正确记录post日志的方法
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日志的方法的更多相关文章
- (转) ORACLE 正确删除归档日志的方法
ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中 ...
- Oracle 正确删除归档日志的方法
我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件 ...
- asp.net记录错误日志的方法
1.说明 在调试发布后的asp.net项目时有可能会遇到意想不到的错误,而未能及时的显示.这就需要记录日志来跟踪错误信息,所以写了个简单的记录信息的方法,记录简单的文本信息也可以使用.此方法是以生成文 ...
- Apache日志不记录图片文件设置方法和来源日志的配置
Apache日志不记录图片文件设置方法 <FilesMatch "\.(ico|gif|jpg|swf)">SetEnv IMAG 1</FilesMatch&g ...
- NGINX配置获取CloudFlare 下的访客真实IP并记录到日志
我用的是lnmp.org的环境 /usr/local/nginx/conf/nginx.conf 在 http { } 部分增加 map $HTTP_CF_CONNECTING_IP $clientR ...
- nginx不记录指定文件类型的日志
1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwa ...
- nginx不记录指定文件类型日志
1.指定记录文件日志记录的内容. vim /usr/local/nginx/conf/nginx.conf如下部分: log_format dd '$remote_addr $http_x_forwa ...
- 关于记录log日志的几种方法
最近在记录日志的时候总结了几种方式: 1.使用log4j2记录 2.使用log4j记录 3.使用logback配置,记录前使用 private final Logger logger = Logge ...
- 记录php日志
1.记录PHP错误日志 display_errors与log_errors的区别 display_errors 错误回显,一般常用于开发模式,但是很多应用在正式环境中也忘记了关闭此选项.错误回显可以暴 ...
随机推荐
- hdu 六度分离 floyd
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1869 题意分析:比较简单的最短路算法,最后只需判断最远两点距离是否大于7即可. /*六度分离 Time ...
- android 数据库中的事务_银行转账示例
主java package com.itheima.transtation; import com.itheima.transtation.db.BankOpenHelper; import andr ...
- 1. 走进java
走进java 1.java简介 1.1 java分类: 1.2 开发包JDK 1.3.一处编译,到处运行的特点 2. 配置开发环境 3. java基本语法 3.1关键字和保留字 3.2 标识符命名规则 ...
- iOS开发零基础教程之生成git所需的SSH keys
在我们github看到了一个不错的第三方库时,可能我们想把他git clone到本地,我们需要复制他的SSH URL,如下图: 复制完地址之后,我们需要打开终端,然后输入命令: git clone + ...
- 《shell脚本if..then..elif..then.if语句的总结》
第一种: #!/bin/bash service vsftpd start &> /dev/null if [ $? -eq 0 ] then echo "ftp is sta ...
- linux系统环境变量.bash_profile/bashrc文件
系统环境变量的查看: [root@localhost ~]# envHOSTNAME=localhost.localdomainSELINUX_ROLE_REQUESTED=TERM=xtermSHE ...
- 《DNS加密更新》RHEL6
DNS加密更新: 继DNS更新之后,现在又玩DNS加密更新,差不多. DNS更新指定一台主机,那台主机或多台主机来更新它,其他主机没权限. DNS加密更新,谁有密码说就可以更新. 做过上次的更新之后, ...
- Linux下安装Websphere MB所需的系统rpm包
很少使用到Linux,这次刚好用户有一个在linux下搭建Websphere MB/MQ的任务.试了几次都不行,经过多方打听,询问原来是少了rpm包的问题,但是,具体包名不详.. --#mount / ...
- linux 定时执行任务 crontab
欲编写定时任务访问网页和打开图片 原来写法为 #!/bin/bash #可以执行 echoecho "Hello" > dir/file.txt #不可以执行 xdg-ope ...
- 近期H5项目开发小结
前言:2016差不多又过了半啦,最近参与了公司好几个h5项目(严格来说,也只能算是推广页面活动).主要是新品牌的推广需要,当然也有给公司以前老客户做的案例.今天主要总结下为新品牌开发的2个h5推广:就 ...