Nginx 连接 Redis 实现数据库操作
实现的功能:当有新的连接到达Nginx时,在redis记录连接数量。
1. redis 创建数据库
安装完成redis之后,通过set connums 0
创建数据。(redis基本使用参照官方文档即可)。
2. 更改 Nginx 源码
由于是要在新建连接时进行连接计数加一,因此需要在nginx accept新的连接时进行计数操作,首先找到 Nginx 处理新连接的函数所在文件nginx/src/event/ngx_event_accept.c
,在该文件中能够找到建立连接的函数为:ngx_event_accept
。在代码中添加连接redis数据库的方法以及连接计数增加的代码,新增的代码如下(省略号表示中间穿插有nginx的源码):
#include <hiredis/hiredis.h>
.........
redisContext *conn = redisConnect("127.0.0.1",6379); //建立连接,都位于一台机器
if(conn != NULL && conn->err)
{
printf("connection error: %s\n",conn->errstr);
return ;
}
......
redisReply *reply = redisCommand(conn,"incr connums&#