网站首页 > 技术教程 正文
初级配置案例
server { listen 80; server_name 118.1118.118.118 localhost www.example.cn examle.cn; charset utf-8; access_log /var/logs/nginx/access_example.log main; #定义静态资源位置 location / { root /static; index index.html index.htm; } location ^~ /example/ { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://apiexample; client_max_body_size 10m; } 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 /static; } }
server配置
listen:监听端口
server_name:匹配访问的ip地址或者域名,多个配置之间用空格分隔
root:表示整个server虚拟主机内的根目录,所有当前主机中web项目的根目录
index:用户访问web网站时的全局首页
charset:用于设置默认编码格式
access_log:用于指定该虚拟主机服务器中的访问记录日志存放路径 及日志格式
error_log:用于指定该虚拟主机服务器中访问错误日志的存放路径 及日志格式
location 配置
Syntax: location [ = | ~ | ~* | ^~ ] uri { … } 或者 location @name { … } Default: — Context: server, location
nginx在解码以 “%XX”形式编码的文本和解析“.” 和 “…”的相对路径以及将“//“转为”/“之后得到的标准化URI执行匹配
location 可以由前缀字符串定义,也可以由正则表达式定义。正则表达式使用前面为“~*”修饰符(用于不区分大小写的匹配)或“~”修饰符(用于区分大小写的匹配)指定。若要找到给定请求的位置匹配,NGiNX首先检查使用前缀字符串(前缀位置)定义的位置。其中,选择和记忆最长匹配前缀的位置。然后按照配置文件中出现的顺序检查正则表达式。正则表达式的搜索在第一个匹配项上终止,并且使用相应的配置。如果找不到正则表达式的匹配,则使用前面记住的前缀位置的配置。
= location与URI的精确匹配,如果精确匹配成功,则匹配终止。
^~ 表示 uri 以某个常规字符串开头,理解为匹配 url 路径即可。 nginx 不对 url 做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格)。
~ 表示区分大小写的正则匹配
~* 表示不区分大小写的正则匹配(和上面的唯一区别就是大小写)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
/ 通用匹配,任何请求都会匹配到,默认匹配。
例如有以下配置:
location = / { [ configuration A ] } location / { [ configuration B ] } location /documents/ { [ configuration C ] } location ^~ /images/ { [ configuration D ] } location ~* \.(gif|jpg|jpeg)$ { [ configuration E ] } location ~* .*\.(js|css)?$ { [ configuration F ] }
如果location由以/结尾的前缀字符串定义,并且请求由proxy_pass、fastcgi_pass、uwsgi_pass、scgi_pass、memcached_pass或grpc_pass之一处理,则执行特殊处理。如果是 = 精确匹配但不是以/结尾的前缀字符串也会自动加上然后重定向处理。
例如:
location /user/ { proxy_pass http://user.example.com; } location = /user { proxy_pass http://login.example.com; }
- 上一篇: Linux中内网或者没网时安装软件的两种方式
- 下一篇: PHP开发常见URL模式,你了解几个?
猜你喜欢
- 2024-10-11 含答案!2020年Nginx最牛面试题31问(一)拿大厂offer抱佛脚必备
- 2024-10-11 NginxWebUI - 图形化的 Nginx 配置管理工具
- 2024-10-11 Java一线互联网大厂高岗Nginx终极面试宝典,让你轻松KO面试
- 2024-10-11 Nginx之URL和目录不限制大小写限制
- 2024-10-11 教你分分钟搞定Linux下yum源配置(linux yum源配置命令)
- 2024-10-11 ASP.NET Core 中的 URL 重写中间件
- 2024-10-11 Nginx面试专题(nginx面试题汇总)
- 2024-10-11 一起来看看:大型电商网站详情页是如何支撑亿级流量访问的?
- 2024-09-21 Linux Nginx 进阶配置? nginx map
- 2024-09-21 PHP开发常见URL模式,你了解几个?
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)