1. nginx+lua学习
1.1. 网关架构
1.2. nginx命令和信号控制
- nginx -s stop 快速关闭,不管有没有正在处理的请求 nginx -s quit 优雅关闭方式,推出前完成已经接受的连接请求
- nginx -c nginx配置文件地址 启动
- nginx -s reload 重启
- nginx -s reopen 重新打开日志
- nginx -t 检查配置文件是否正确
- kill -INT pid 表示快速关闭
- kill -HUP pid表示重启
- 通过信号控制的方式实现和命令相同的功能
1.3. nginx平滑升级
- 下载高版本nginx,解压缩
- 执行指令
./configure
make
cd objs
cp nginx nginx.old
cp -rfp objs/nginx /usr/local/nginx/sbin
nginx -t
ps -ef | grep nginx
- 执行信号平滑升级
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` 更新配置文件
给nginx发送USR2信号后,nginx会将logs/nginx.pid文件重命名为nginx.pid.oldbin。然后用新的可执行文件启动一个新的nginx进程和对应的工作进程,并新建一个新的nginx.pid保存新的主进程号
- 关闭旧的进程
kill -WINCH 旧的主进程号
1.4. nginx配置文件
- ulimit -n 查看liunx最多同时打开的文件句柄数,可通过linux命令设置
- 配置文件里通过参数 worker_rlimit_nofile 65535; 配置,配置前运行下前面的命令,值必须比前面得到的小
- 四核配置
worker_processes 4;
worker_cpu_affinity 0001 0010 0100 1000;
1.5. 日志切割
1.6. openresty安装
1.7. nginx内部变量
1.8. redis模块demo
1.9. redis连接池