03 2022 档案
摘要:Rewrite功能配置 Rewrite功能;Rewrite的相关命令;Rewrite的应用场景 Rewrite是Nginx服务器提供的一个重要基本功能,主要的作用是用来实现URL的重写。 Nginx服务器的Rewrite功能的实现依赖于PCRE的支持,因此在编译安装Nginx服务器之前,需要安装PC
阅读全文
Nginx核心配置文件nginx.conf:全局块配置、events块配置、http块配置、server、location;sendfile;客户端缓存和服务端缓存;同源策略和跨域问题;静态资源防盗链
摘要:修改nginx.conf后,重新加载配置 1.修改配置后,先测试配置文件配置是否正确 nginx -t 2.nginx reload配置 nginx -s reload nginx -s stop;nginx #部分配置不能reload,只能重启 修改nginx.conf后,重新加载配置 Nginx
阅读全文
摘要:Nginx提供的基本功能:基本HTTP服务、高级HTTP服务、邮件服务;Nginx常用的功能模块 Nginx的功能特性及常用功能 Nginx提供的基本功能服务从大体上归纳为"基本HTTP服务"、“高级HTTP服务”和"邮件服务"等三大类。 基本HTTP服务 Nginx可以提供基本HTTP服务,可以作
阅读全文
摘要:struct notifier_block struct notifier_block { //struct notifier_block结构就是通知链 int (*notifier_call)(struct notifier_block *self, unsigned long, void *);
阅读全文
摘要:procfs(/proc文件系统);sysctl(/proc/sys目录);sysfs(/sys文件系统) 内核通过各种不同的接口吧内部信息输出到用户空间。其中有3个特殊接口(在这之中有2个虚拟文件系统) procfs(/proc文件系统) 这是一个虚拟文件系统,通常mount在/proc,允许内核
阅读全文
摘要:套接字缓冲区:sk_buff结构 为了很快地找到sk_buff链表中的表头,每个链表中都有一个这样的字段: struct sk_buff_head *list; struct sk_buff_head { /* These two members must be first. */ struct s
阅读全文
摘要:文件指针;stdin、stdout、stderr;文件操作一般步骤 文件指针 在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。 typedef struct { short level; //缓冲区"满"或者"空"的程度 unsigned flags; //文件状态标志 char fd;
阅读全文
摘要:结构体 //结构体的定义与使用 //结构体一般卸载.h文件中,不卸载.c文件内 struct student { int age; char name[20]; char grade[20]; }; struct student1 { int age; char name[20]; char gra
阅读全文
摘要:局部变量、静态(static)局部变量、全局变量、静态(static)全局变量、extern全局变量声明、全局函数和静态函数;作用域及生命周期对比 局部变量 局部变量也叫auto自动变量(auto可写可不写),一般情况下代码块{}内部定义的变量都是自动变量,它有如下特点: 在一个函数内定义,只在
阅读全文
摘要:指针基础知识 指针和指针变量;指针变量的定义与使用;指针的大小; 指针和指针变量 内存区的每一个字节都有一个编号,这就是“地址”。 如果在程序中定义了一个变量,在对程序进行编译或运行时,系统就会给这个变量分配内存单元,并确定它的内存地址(编号) 指针的实质就是内存“地址”。指针就是地址,地址就是指针
阅读全文
摘要:函数;函数的定义;函数的定义与调用; C 程序是由函数组成的,我们写的代码都是由主函数 main()开始执行的。函数是 C 程序的基本模块,是用于完成特定任务的程序代码单元。 从函数定义的角度看,函数可分为系统函数和用户定义函数两种: 系统函数,即库函数:这是由编译系统提供的,用户不必自己定义这些函
阅读全文
摘要:数组;数组初始化 数组就是在内存中连续的相同类型的变量空间。同一个数组所有的成员都是相同的数据类型,同时所有的成员在内存中的地址是连续的。 一个数组可以分解为多个数组元素:这些数组元素可以是基本数据类型或构造类型。 按数组元素类型的不同,数组可分为:数值数组、字符数组、指针数组、结构数组等类别。 i
阅读全文
摘要:for while if 后面的执行语句只有一条,那么{}可以不用写 //if else示例: int main(void) { const int num = rand()%100; printf("猜数字游戏,数字范围0-100\n"); for (;;) { printf("请输入一个数字:"
阅读全文
摘要:运算符类型 作用算术运算符 用于处理四则运算赋值运算符 用于将表达式的值赋给变量比较运算符 用于表达式的比较,并返回一个真值或假值逻辑运算符 用于根据表达式的值返回真值或假值 位运算符 用于处理数据的位运算sizeof运算符 用于求字节数长度 算术运算符 运算符 描述 实例 + 把两个操作数相加 A
阅读全文
摘要:标识符;声明和定义区别;常量;变量;使用示例 标识符: 变量和常量的统称。 命名规则: 1. 通常常量使用大写、变量使用小写。大小写严格区分。 2. 只能使用字母、数组、下划线(_)命名标识符。且,数字不能开头。 a-z/A-Z/0-9/_ int a5ir = 10; int _34F = 6;
阅读全文
摘要:hello_world.c #include <stdio.h> #include <Windows.h> //#include 表示引入头文件 //stdio.h 系统标准输入、输出对应的头文件,提供printf函数服务 //<>:系统库函数;"":用户自定义库函数 #include "xxxxx
阅读全文