Nginx目录结构、编译参数、状态码概述

版权声明:©来自CSDN博客作者李在奋斗的原创作品,如需转载,请注明出处 https://blog.csdn.net/qq_31725371/article/details/84037800

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
/etc/rc.d/init.d/nginx
/etc/rc.d/init.d/nginx-debug
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
配置系统守护进程管理器
/etc/logrotate.d/nginx Nginx日志轮询,日志切割
/usr/sbin/nginx
/usr/sbin/nginx-debug
Nginx终端管理命令
/usr/share/doc/nginx-1.12.2
/usr/share/man/man8/nginx.8.gz
Nginx帮助手册目录,文件
/var/cache/nginx Nginx的缓存目录
/var/log/nginx 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默认站点目录

Nginx编译参数

# 查看Nginx编译参数
[root@mysql-slave ~]$ nginx -V
编译选项 作用
–prefix=/etc/nginx 程序安装目录
–sbin-path=/usr/sbin/ngin Nginx启停命令
–modules-path=/usr/lib64/nginx/modules Nginx模块路径
–conf-path=/etc/nginx/nginx.conf Nginx主配置文件路径
–error-log-path=/var/log/nginx/error.log Nginx错误日志路径
–http-log-path=/var/log/nginx/access.log Nginx访问日志路径
–pid-path=/var/run/nginx.pid Nginx的PID路径
–lock-path=/var/run/nginx.lock Nginx锁路径
–http-client-body-temp-path=/var/cache/nginx/client_temp client头部临时缓存文件
–http-proxy-temp-path=/var/cache/nginx/proxy_temp proxy临时缓存文件
–http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp fastcgi临时缓存文件
–http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp uwsgi临时缓存文件
–http-scgi-temp-path=/var/cache/nginx/scgi_temp scgi临时缓存文件
–user=nginx 设定Nginx进程启动用户
–group=nginx 设定Nginx进程启动组(安全)
–with-cc-opt 设置额外的参数将被添加到CFLAGS变量
–with-ld-opt 设置附加的参数,链接系统库

Nginx模块

  • Nginx模块分为Nginx官方模块和Nginx第三方模块
Nginx编译选项 模块作用
ngx_http_core_module 包含一些核心的http参数配置,对应Nginx的配置区块部分
ngx_http_access_module 访问控制模块,用来控制网站用户对Nginx的访问
ngx_http_gzip_module 压缩模块,对Nginx返回的数据压缩,属于性能优化模块
ngx_http_fastcgi_module fastcgi模块,和动态应用相关的模块,如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 requestprocessing rate根据定义的key
ngx_http_log_module 访问日志模块,以指定的格式记录Nginx客户访问日志等信息
ngx_http_auth_basic_module Web认证模块,设置Web用户通过账号密码访问Nginx
ngx_http_ssl_module ssl模块,用于加密的http连接,如https

Nginx内置变量

$uri    请求中的当前URI(不带请求参数,参数位于$args)$uri不包含主机名,如”/foo/bar.html
$request_uri    求参数的原始URI,它无法修改,带完整参数
$host   优先级如下:HTTP请求行的主机名>”HOST”请求头字段>符合请求的服务器名
$hostname   主机名
$remote_addr    客户端IP
$remote_port    客户端端口
$remote_user    用于HTTP基础认证服务的用户名,即客户端用户输入的用户名
$request_filename   当前连接请求的文件路径,由root或alias指令与URI请求生成。
$request_method     HTTP请求方法,通常为“GET”或“POST”
$server_addr        服务器端地址,注意:为了避免访问linux系统内核,应将ip地址提前设置在配置文件中
server_name     服务器名,www.cnphp.info
$server_port    服务器端口
$server_protocol    服务器的HTTP版本, 通常为 “HTTP/1.0” 或 “HTTP/1.1”
$scheme         请求使用的Web协议, “http” 或 “https”
$document_root  当前请求的文档根目录或别名

Nginx状态码

301     永久移动。请求资源以被永久移动位置
302     请求的资源现在临时从不同的URL响应请求
305     使用代理。被请求的资源必须通过指定的代理才能被访问
307     临时跳转。被请求的资源在临时从不同的URL响应请求
400     错误请求。
402     需要付款。该状态码是为了将来可能需求而预留的,用于一些数字货币或者微支付
403     禁止访问。服务器已理解请求,但是拒绝执行它
404     找不到对象,请求失败,资源不存在
406     不可接受的,请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体

在这里插入图片描述

408     请求超时;
409     冲突。由于和被请求的资源的当前状态之间存在冲突,请求无法完成;
410     遗失的。被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址;
413     响应实体太大。服务器拒绝处理当前请求,请求超过服务器所能处理和允许的最大值。
417     期望失败。在请求头 Expect 中指定的预期内容无法被服务器满足;
418     我是一个茶壶。超文本咖啡罐控制协议,但是并没有被实际的HTTP服务器实现
420     方法失效。
422     不可处理的实体。请求格式正确,但是由于含有语义错误,无法响应;
500     服务器内部错误。服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理;
502     请求后端失败,例如请求Java但是Java没启动就会报502

在这里插入图片描述

展开阅读全文

没有更多推荐了,返回首页