在nginx 1.11.8 以上版本中log_format 增加了escape=json 参数,在配置日志格式时加上此参数可以不转义变量内容,官方文档-参数说明
日志配置
log_format postdata '$remote_addr | $request_body | $resp_body';
log_format postdata escape=json '$remote_addr | $request_body | $resp_body';
1.安装必须环境
nginx的编译需要c++,同时prce(重定向支持)和openssl(https支持)也需要安装。
请顺序安装依赖
1 yum install gcc-c++
2 yum -y install pcre*
3 yum -y install openssl*
2.,下载nginx-1.14.1.tar.gz,可放在 /usr/local/ 目录下 ps:我这里使用的老本你可以尝试新版
1 [root@admin ~]# cd /usr/local/
2 [root@admin local]# wget http://nginx.org/download/nginx-1.14.1.tar.gz
3.解压及编译
1 [root@admin local]# tar -zxvf nginx-1.14.1.tar.gz
4.进入nginx目录
1 [root@admin local]# cd nginx-1.14.1
5.设置安装目录为 /usr/local/nginx
1 [root@admin nginx-1.14.1]# ./configure --prefix=/usr/local/nginx
开始编译安装
1 [root@admin nginx-1.14.1]# make
2 [root@admin nginx-1.14.1]# make install
#!/bin/sh
#
# nginx - this script starts and stops the nginx daemin
#
# chkconfig: - 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0
nginx="/usr/local/nginx/sbin/nginx"
prog=$(basename $nginx)
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
lockfile=/var/lock/subsys/nginx
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
echo -n $"Starting $prog: "
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
exit 2
esac
2.设置/etc/init.d/nginx 执行权限
chmod 777 /etc/init.d/nginx
3.设置开机默认启动
chkconfig --add nginx //添加系统服务
chkconfig --level 345 nginx on //设置开机启动,启动级别
chkconfig --list nginx //查看开机启动配置信息
5.nginx控制命令
service nginx start #开启
service nginx stop #停止
service nginx restart #重启
service nginx reload #重新加载
本文介绍了如何在 CentOS6 上安装 nginx 1.14.1 版本,并着重讲解了如何配置日志格式,特别是启用 'escape=json' 参数以避免变量内容被转义。遵循官方文档的指导,此设置对于解析JSON格式的日志尤其有用。
2332

被折叠的 条评论
为什么被折叠?



