Nginx 配置文件 nginx.conf 说明、内置变量、常用命令
目录
nginx.conf 文件详解
nginx 内置全局变量
nginx 常用命令
location 解析过程
1、nginx.conf 配置文件在 %nginx_home%/conf 目录下:
nginx.conf 文件详解
1、下面是一个 nginx.conf 配置文件的基本结构:
events | 配置影响 nginx 服务器或与用户的网络连接。 |
main | nginx 的全局配置,对全局生效。 |
http | 可以嵌套多个 server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。 |
server | 配置虚拟主机的相关参数,一个 http 中可以有多个 server,一个 Server 相当于一个虚拟主机。 |
location | 配置请求的路由,以及各种页面的处理情况。一个 server 可以有多个 localtion 路由。 |
upstream | 配置后端服务器具体地址,负载均衡配置不可或缺的部分。(默认是没有的,需要时得自己添加) |
2、nginx.conf 配置文件内容介绍如下:
#创建进程的用户和用户组,多个时用空格隔开
#user nobody;
#服务进程数量,一般等于 CPU 数量
worker_processes 1;#全局错误日志定义,建议开启error级别日志.[ debug | info | notice | warn | error | crit ]
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#记录进程 ID 的文件
#pid logs/nginx.pid;events {#一个 worker_processe 允许的最大并发连接数量worker_connections 1024;
}http {include mime.types;default_type application/octet-stream;#log_format main '$remote_addr - $remote_user [$time_local] "$request" '# '$status $body_bytes_sent "$http_referer" '# '"$http_user_agent" "$http_x_forwarded_for"';#access_log logs/access.log main;sendfile on;#tcp_nopush on;#keepalive_timeout 0;#http连接的持续时间keepalive_timeout 65;#gzip压缩设置,开启或关闭#gzip on;#设定负载均衡的服务器列表,可以设置多个 upstream,使用不同的名称 wmx 区分即可#upstream 默认是没有,需要自己添加upstream wmx {#weigth参数表示权值,权值越高被分配到的几率越大server 127.0.0.1:8081 weight=5;server 127.0.0.1:8082 weight=5;server 127.0.0.1:8083 weight=5;}server {#nginx监听的端口号listen 80;#当前 server(虚拟主机)的域名,可以有多个,用空格隔开server_name localhost;#字符编码方式#charset koi8-r;#设定本虚拟主机的访问日志。关闭日志可以减少IO,提高性能。#access_log logs/host.access.log main;#默认请求location / {#定义服务器的默认网站根目录位置root html;#定义首页索引文件的名称index index.html index.htm;#请求转向 wmx 定义的服务器列表proxy_pass http://wmx}#error_page 404 /404.html;# redirect server error pages to the static page /50x.html#error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}
nginx 内置全局变量
1、Nginx 作为一个成熟、久经考验的负载均衡软件,与其提供丰富、完整的内置变量是分不开的,它极大增加了对 Nginx 网络行为的控制细度。
2、这些变量大部分都是在请求进入时解析的,并把他们缓存到请求 cycle 中,方便下一次获取使用。
3、下面是 nginx 配置中常用的内置全局变量,可以在配置的任何位置使用它们:
名称 | 说明 |
---|---|
$arg_name | 请求中的name参数 |
$args | 请求中的参数 |
$binary_remote_addr | 远程地址的二进制表示 |
$body_bytes_sent | 已发送的消息体字节数 |
$content_length | HTTP请求信息里的"Content-Length" |
$content_type | 请求信息里的"Content-Type" |
$document_root | 针对当前请求的根路径设置值 |
$document_uri | 与$uri相同; 比如 /test2/test.php |
$host | 请求信息中的"Host",如果请求中没有Host行,则等于设置的服务器名 |
$hostname | 机器名使用 gethostname系统调用的值 |
$http_cookie | cookie 信息 |
$http_referer | 引用地址 |
$http_user_agent | 客户端代理信息 |
$http_via | 最后一个访问服务器的Ip地址。 |
$http_x_forwarded_for | 相当于网络访问路径 |
$is_args | 如果请求行带有参数,返回“?”,否则返回空字符串 |
$limit_rate | 对连接速率的限制 |
$nginx_version | 当前运行的nginx版本号 |
$pid | worker进程的PID |
$query_string | 与$args相同 |
$realpath_root | 按root指令或alias指令算出的当前请求的绝对路径。其中的符号链接都会解析成真是文件路径 |
$remote_addr | 客户端IP地址 |
$remote_port | 客户端端口号 |
$remote_user | 客户端用户名,认证用 |
$request | 用户请求 |
$request_body | 这个变量(0.7.58+)包含请求的主要信息。在使用proxy_pass或fastcgi_pass指令的location中比较有意义 |
$request_body_file | 客户端请求主体信息的临时文件名 |
$request_completion | 如果请求成功,设为"OK";如果请求未完成或者不是一系列请求中最后一部分则设为空 |
$request_filename | 当前请求的文件路径名,比如/opt/nginx/www/test.php |
$request_method | 请求的方法,比如"GET"、"POST"等 |
$request_uri | 请求的URI,带参数 |
$scheme | 所用的协议,比如http或者是https |
$server_addr | 服务器地址,如果没有用listen指明服务器地址,使用这个变量将发起一次系统调用以取得地址(造成资源浪费) |
$server_name | 请求到达的服务器名 |
$server_port | 请求到达的服务器端口号 |
$server_protocol | 请求的协议版本,"HTTP/1.0"或"HTTP/1.1" |
$uri | 请求的URI,可能和最初的值有不同,比如经过重定向之类的 |
nginx 常用命令
start nginx.exe //启动
nginx.exe -s reload //重启
nginx.exe -s stop //快速停止
nginx.exe -s quit //完整有序停止
没配置环境变量时,在 nginx.exe 所在目录下使用命令行即可。
location 解析过程
Nginx 配置文件 nginx.conf 说明、内置变量、常用命令相关推荐
- Python(8):模块内置变量
写在前面 文章目录 模块内置变量 常用内置变量 __name__变量 __package__变量 __file__变量 __doc__变量 专栏目录 模块内置变量 常用内置变量 __name__变量 ...
- Shell——quan——内置变量
bash shell内置变量的命令:echo eval exec export read shift echo 输出信息 -n 不换行输出内容 -e 解析转义字符 转义字符:\n 换行 (加引号) \ ...
- nginx内置变量 大全
参考:agentzh 的 Nginx 教程(版本 2016.07.21) 在配置基于nginx服务器的网站时,必然会用到 nginx内置变量 ,下面笔者将它整理成列表,把最新版本的变量列出来,以方便 ...
- Nginx 的内置变量
在配置基于Nginx服务器的网站时,必然会使用到Nginx内置变量配置相关信息,下面将根据网上的相关资料进行整理,以方便在配置Nginx时查询. 内置变量存放在 ngx_http_core_modul ...
- Nginx内置变量以及日志格式变量参数详解
Nginx内置变量以及日志格式变量参数详解 $args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有 ...
- Nginx内置变量及正则语法
对于很多Nginx初学者来说,配置文件是必须要看懂的.但是当公司的Nginx配置文件放在你面前的时候你总会被一些带着"$"符号和一大推看不懂的的正则给正懵逼.没错带着"$ ...
- nginx内置变量 $request_filename
-e表示只要filename存在,则为真,不管filename是什么类型,如果加了!就取反额外的一些 -e filename 如果 filename存在,则为真 -d filename 如果 file ...
- nginx 内置变量
http://blog.sina.com.cn/s/articlelist_1834459124_1_1.html nginx内置变量杂谈 http://nginx.org/en/docs/http ...
- nginx 内置变量大全(转)
HTTP核心模块支持一些内置变量,变量名与apache里的对应.比如 $http_user_agent,$http_cookie等表示HTTP请求信息的变量. 更多变量: $args, 请求中的参数; ...
- Nginx配置文件nginx.conf详解
Nginx 总的 配置文件 位置 /usr/local/nginx/conf/nginx.conf nginx 正则匹配 一.正则表达式匹配,其中: 为区分大小写匹配 ~* 为不区分大小写匹配 ! 和 ...
最新文章
- React Native学习之 ListView 的简单使用
- 类,封装,this关键字,内存部分(java)
- nginx中SSI问题的研究
- 【ARM】Tiny4412裸板编程之蜂鸣器
- 叮咚酒店营销版小程序v8.5.8+前端
- QuickWAP实现网页跳转
- 03_部署并访问项目,处理404,500(servlet+java bean+jsp的商城教程)
- Hibernate 教程(一)[Hibernate的基本配置]
- EXTJS源码分析与开发实例-原创2章下载
- excel 基于RFM模型、帕累托分析的用户画像项目实战
- Github学生认证指北
- 阿里云服务器常用配置价格表
- 虚拟系统管理器QEMU/KVM
- 烤薯条的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 工作中那些让人印象深刻的BUG(1)
- WPF全屏和退出全屏最简单的方法
- CFont::CreateFont
- BUUCTF [SWPU2019]EasiestRe
- 月亮代表我的心计算机谱子,月亮代表我的心
- JavaFX8开发过程中的问题记录
热门文章
- 关于以主机命名的网站集
- 拓端tecdat|R语言泊松回归对保险定价建模中的应用:风险敞口作为可能的解释变量
- 拓端tecdat|R语言Black Scholes和Cox-Ross-Rubinstein期权定价模型案例
- Java实现常见的排序算法
- yolov5模型框架详解
- #Deep Learning回顾#之LeNet、AlexNet、GoogLeNet、VGG、ResNet
- 近6年被引用次数最多的深度学习论文top100(附下载地址)
- 基于图像gist特征的NWPU-RESISC45数据分类实战
- python解决sip与ptqt不兼容导致页面截图引擎无法运行问题
- android.mk 编译选项,Android.mk中加入选项,编译生成可以直接安装的apk包