聊聊、Nginx 初始化日志文件
我们接着上一篇文章继续来看看 ngx_regex_init()函数。搜索 ngx_regex_init 得到位置为src/core/ngx_regex.c:ngx_regex_init(void)。 进入 ngx_regex.c 文档
如果你的 Nginx 有添加 NGX_PCRE 模块,那么这个函数则会执行。什么是 PCRE 呢? PCRE(Perl Compatible Regular Expressions) 是一个 Perl 库,用 PCRE 来解决C语言中使用正则表达式的问题。像 Nginx 重写功能就需要有 PCRE 库支持。我们不深入讨论。 接着ngx_pid = ngx_getpid() 函数,取得当前进程的 ID 号。
log = ngx_log_init(ngx_prefix);
if (log == NULL) {
return 1;
}
日志文件初始化。我们去nginx_log.c文件中看看。
在 nginx_log.h 中 #define NGX_LOG_NOTICE 6
在ngx_auto_config.h 中 #define NGX_ERROR_LOG_PATH “logs/error.log” 这个比较简单,都是简单的赋值。 我们接着看下面的内容。
prefix 没有赋值,所以为 0 。执行 else,prefix=NGX_PREFIX。 ngx_auto_config.h 文件中
#define NGX_PREFIX /usr/local/nginx/”
下面的内容就是给 p 赋值。 最后 p = “/usr/local/nginx/logs/error.log”。
接下来才是最终目的。
ngx_open_file 函数,宏定义 : #define ngx_open_file(name,mode,create,access) open((const char*) name, mode|create, access)。 open 函数是系统函数。主要作用是打开和创建文件。
ok,到这里初始化日志文件就结束了。谢谢大家观看!
聊聊、Nginx 初始化日志文件的更多相关文章
- 筛选nginx访问日志文件中的域名
head -n 500 1.log |awk '{print $11}' > 1.txt 查看1.log日志文件前500行记录并打印出第11列也就是域名的那一列,并输出到1.txt文 ...
- Nginx如何对日志文件进行配置?
在我们日常工作开发中,对调试bug最重要的手段就是查看日志和断点调试了. 今天我们来说日志文件,Nginx的日志文件一般保存的是访问日志和错误日志. 1. 用来log_format指令设置日志格式 l ...
- 如何对Nginx日志文件进行切割保存
日积月累下,日志文件会越来越大,日志文件太大严重影响服务器效率,须要定时对日志文件进行切割. 切割的方式有按月切割.按天切割.按小时切割,一般都是按天切割. 那么如何进行切割呢? 思路: 创建日志文件 ...
- nginx实现日志按天切割
背景 nginx的日志文件没有rotate功能.一段时间过后,日志将越发臃肿,一个accesslog很快就突破1G,因此有必要通过脚本实现按天切割日志. 解决思路 1 重命名日志文件,如更改为acc ...
- Nginx的日志剖析
1.访问日志(access.log) Nginx的访问日志就是一个文件,它存储着每个用户对网站的访问请求,这个功能是有ngx_http_log_module模块来负责的,这个文件存在的主要目的就是为了 ...
- 初识oracle重做日志文件
转自 http://blog.csdn.net/indexman/article/details/7746948 以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习 ...
- Nginx错误日志与优化专题
一.Nginx配置和内核优化 实现突破十万并发 二.一次Nignx的502页面的错误记录 (1)错误页面显示 错误日志: // :: [error] #: * recv() failed (: Con ...
- nginx安装目录文件
nginx安装目录 conf 存放nginx的配置文件 在修改配置文件nginx.conf之前,一般先备份cp nginx.conf nginx.conf.bak html 存放前端文件的 默认带有首 ...
- 向nginx发送reopen信号以重新打开日志文件
先移动日志文件 mv /usr/local/openresty/nginx/logs/access.log /usr/local/openresty/nginx/logs/access.log.201 ...
随机推荐
- Oracle关于TX锁的一个有趣的问题
前阵子有一个网友在群里问了一个关于Oracle数据库的TX锁问题,问题原文如下: 请教一个问题: 两个会话执行不同的delete语句,结果都是删除同一个行.先执行的会话里where条件不加索引走全表扫 ...
- Android商城开发系列(五)—— 商城首页回到顶部和搜索框布局实现
今天我们来开发商城的首页[输入搜索框]布局和点击右下角图片回到顶部的效果 搜索功能在App中很常见,尤其是在商城类的项目当中,一般都会提供很强大的搜索功能,App的搜索布局一般都是在App的顶部,如下 ...
- RAC数据库后台进程介绍
在RAC数据库上会比单实例数据库多一些进程,这些进程是RAC特有的,为了实现集群数据库功能而设置的. 10g RAC特有进程:$ ps -ef|grep ora_oracle 4721 ...
- MySql面试题、知识汇总、牛客网SQL专题练习
点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...
- Python re module (regular expressions)
regular expressions (RE) 简介 re模块是python中处理正在表达式的一个模块 r"""Support for regular expressi ...
- 在ubuntu中用命令安装iperf
Iperf的安装要换成阿里的源 sudo add-apt-repository "ppa:patrickdk/general-lucid" sudo apt-get update ...
- Dojo的on函数(以前的dojo.connect)
同jQuery的on函数: require(["esri/map", "dojo/on"], function(Map, on) { // ... on(my ...
- Nodejs:npm run build之后,dist\index.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败
问题描述:Nodejs:npm run build之后,dist\index.html页面在火狐中可以正常显示登录页面并登录成功,在Chrome中可以正常显示登录页面,登录失败 解决方法:将打包后的d ...
- mysql中影响数据库性能的因素讲解
mysql中影响数据库性能的因素讲解 在本篇文章中我们给大家讲述了mysql中影响性能的因素以及相关知识点内容,有兴趣的朋友参考下 关于数据库性能的故事 面试时多多少少会讲到数据库上的事情,“你对数据 ...
- 基于Centos7.2搭建Cobbler自动化批量部署操作系统服务
1 Cobbler服务器端系统环境配置 1.1 系统基本环境准备 [root@cobbler-server ~]# cat /etc/redhat-release CentOS L ...