《线程/协程/异步的编程模型解读》
了解线程线程是CPU调度的最小单位CPU 执行过程图比如我们有一个单核CPU,目前有3个想要执行的线程,这3个线程在执...
《什么是select/poll/epoll模型?》
了解模型图单线程处理我们自己会怎样写单线程处理多个客户端连接呢?我们知道在linux里面中每个网络连接在内核中都是文件...
cache miss
,获得更好的性能。- 调⽤read函数,⽂件数据被复制到内核缓冲
- read函数返回,⽂件数据从内核缓冲区复制到⽤户缓冲区
- write函数调⽤,将⽂件数据从⽤户缓冲区复制到内核与socket相关的缓冲区。
- 数据从socket缓冲区复制到相关协议引擎。
- 系统调⽤sendfile函数通过 DMA 把硬盘数据拷⻉到 kernel buffer,
- 数据被 kernel 直接拷⻉到另外⼀个与 socket 相关的 kernel buffer。
- DMA把数据从kernel buffer直接拷⻉给协议栈。
- Mainline version 开发版
- Stable version 稳定版
- Legacy version 历史版本安装请移步到
- 我这里提供 [Ubuntu安装最新版nginx点击这里](https://github.com/niuzheng131400/ubuntu-install-the-latest-stable-version-of-nginx)
路径 | 类型 | 作⽤ |
---|---|---|
/etc/nginx/etc/nginx/nginx.conf/etc/nginx/conf.d/etc/nginx/conf.d/default.conf | 配置⽂件 | Nginx主配置⽂件 |
/etc/nginx/fastcgi_params/etc/nginx/scgi_params/etc/nginx/uwsgi_params | 配置⽂件 | Cgi、Fastcgi、Uwcgi配置⽂件 |
/etc/nginx/win-utf/etc/nginx/koi-utf/etc/nginx/koi-win | 配置⽂件 | Nginx编码转换映射⽂件 |
/etc/nginx/mime.types | 配置⽂件 | http协议的Content-Type与扩展名 |
/usr/lib/systemd/system/nginx.service | 配置⽂件 | 配置系统守护进程管理器 |
/etc/logrotate.d/nginx | 配置⽂件 | Nginx⽇志轮询,⽇志切割 |
/usr/sbin/nginx/usr/sbin/nginx-debug | 命令 | Nginx终端管理命令 |
/etc/nginx/modules/usr/lib64/nginx/usr/lib64/nginx/modules | ⽬录 | Nginx模块⽬录 |
/usr/share/nginx/usr/share/nginx/html/usr/share/nginx/html/50x.html/usr/share/nginx/html/index.html | ⽬录 | Nginx默认站点⽬录 |
/usr/share/doc/nginx-1.12.2/usr/share/man/man8/nginx.8.gz | ⽬录 | Nginx的帮助⼿册 |
/var/cache/nginx | ⽬录 | Nginx的缓存⽬录 |
/var/log/nginx | ⽬录 | Nginx的⽇志⽬录 |
编译选项 | 作⽤ |
---|---|
--prefix=/etc/nginx--sbin-path=/usr/sbin/nginx--modules-path=/usr/lib64/nginx/modules--conf-path=/etc/nginx/nginx.conf--error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log--pid-path=/var/run/nginx.pid--lock-path=/var/run/nginx.lock | 程序安装⽬录和路径 |
--http-client-body-temp-path=/var/cache/nginx/client_tem--http-proxy-temp-path=/var/cache/nginx/proxy_temp--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp--http-scgi-temp-path=/var/cache/nginx/scgi_temp | 临时缓存⽂件 |
--user=nginx--group=nginx | 设定Nginx进程启动⽤户和组(安全) |
--with-cc-opt | 设置额外的参数将被添加到CFLAGS变量 |
--with-ld-opt | 设置附加的参数, 链接系统库 |
Nginx编译选项 | 模块作⽤ |
---|---|
ngx_http_core_module | 包含⼀些核⼼的http参数配置,对应Nginx的配置区块部分 |
ngx_http_access_module | 访问控制模块,⽤来控制⽹站⽤户对Nginx的访问 |
ngx_http_gzip_module | 压缩模块,对Nginx返回的数据压缩,属于性能优化模块 |
ngx_http_fastcgi_module | fastci模块,和动态应⽤相关的模块,例如PHP |
ngx_http_proxy_module | proxy代理模块 |
ngx_http_upstream_module | 负载均衡模块,可以实现⽹站的负载均衡功能及节点的健康检查。 |
ngx_http_rewrite_module | URL地址重写模块 |
ngx_http_limit_conn_module | 限制⽤户并发连接数及请求数模块 |
ngx_http_limit_req_module | 限制Nginx request processing rate根据定义的keyNginx常⽤模块 |
ngx_http_log_module | 访问⽇志模块,以指定的格式记录Nginx客户访问⽇志等信息 |
ngx_http_auth_basic_module | Web认证模块,设置Web⽤户通过账号密码访问Nginx |
nginx_http_ssl_module | ssl模块,⽤于加密的http连接,如https |
http请求变量
Nginx内置变量
⾃定义变量
$uri: 当前请求的uri,不带参数
$request_uri: 请求的uri,带完整参数
$host: http请求报⽂中host⾸部,如果没有则以处理此请求的虚拟主机的主机名代替
$hostname: nginx服务运⾏在主机的主机名
$remote_addr: 客户端IP
$remote_port: 客户端端⼝
$remote_user: 使⽤⽤户认证时客户端⽤户输⼊的⽤户名
$request_filename: ⽤户请求中的URI经过本地root或alias转换后映射的本地⽂件路径
$request_method: 请求⽅法, GET POST PUT
$server_addr: 服务器地址
$server_name: 服务器名称
$server_port: 服务器端⼝
$server_protocol: 服务器向客户端发送响应时的协议, 如http/1.1 http/1.0
$scheme:在请求中使⽤scheme, 如http://xxx.com中的http
$http_HEADER: 匹配请求报⽂中指定的HEADER
$http_host: 匹配请求报⽂中的host⾸部
$document_root: 当前请求映射到的root配置
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有