nginx常用常忘的配置方法

参考网址

具体应用

location /images/ {
    root /opt/html/;
    try_files $uri   $uri/  /images/default.gif;
}

比如 请求 127.0.0.1/images/test.gif 会依次查找
1.文件/opt/html/images/test.gif
2.文件夹 /opt/html/images/test.gif/下的index文件
3. 请求127.0.0.1/images/default.gif

rewrite

关键字:其中关键字error_log不能改变
正则:perl兼容正则表达式语句进行规则匹配
替代内容:将正则匹配的内容替换成replacement
flag标记:rewrite支持的flag标记

flag标记说明:
last #本条规则匹配完成后,继续向下匹配新的location URI规则
break #本条规则匹配完成即终止,不再匹配后面的任何规则
redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

server {
        listen 80;
        server_name abc.com;
        rewrite ^/(.*) http://www.abc.com/$1 permanent;
}

变量名 定义 $arg_PARAMETER GET请求中变量名PARAMETER参数的值 $args 这个变量等于GET请求中的参数。例如,foo=123&bar=blahblah;这个变量只可以被修改 $binary_remote_addr 二进制码形式的客户端地址。 $body_bytes_sent 传送页面的字节数 $content_length 请求头中的Content-length字段。 $content_type 请求头中的Content-Type字段。 $cookie_COOKIE cookie COOKIE的值。 $document_root 当前请求在root指令中指定的值。

uri相同。 $host 请求中的主机头(Host)字段,如果请求中的主机头不可用或者空,则为处理请求的server名称(处理请求的server的server_name指令的值)。值为小写,不包含端口。 $hostname 机器名使用 gethostname系统调用的值

http_user_agent(Uaer-Agent的值); $sent_http_HEADER|HTTP响应头中的内容,HEADER为HTTP响应中的内容转为小写,-变为_(破折号变为下划线),例如: $sent_http_cache_control, $sent_http_content_type…;

args设置,值为”?”,否则为””。 $limit_rate 这个变量可以限制连接速率。 $nginx_version 当前运行的nginx版本号。

args相同。 $remote_addr 客户端的IP地址。 $remote_port 客户端的端口。 $remote_user 已经经过Auth Basic Module验证的用户名。 $request_filename 当前连接请求的文件路径,由root或alias指令与URI请求生成。 $request_body 这个变量(0.7.58+)包含请求的主要信息。在使用proxy_pass或fastcgi_pass指令的location中比较有意义。 $request_body_file 客户端请求主体信息的临时文件名。 $request_completion 如果请求成功,设为”OK”;如果请求未完成或者不是一系列请求中最后一部分则设为空。 $request_method 这个变量是客户端请求的动作,通常为GET或POST。包括0.8.20及之前的版本中,这个变量总为main request中的动作,如果当前请求是一个子请求,并不使用这个当前请求的动作。

uri更改或重写URI。

$scheme://example.com$1 redirect; $server_addr 服务器地址,在完成一次系统调用后可以确定这个值,如果要绕开系统调用,则必须在listen中指定地址并且使用bind参数。 $server_name 服务器名称。 $server_port 请求到达服务器的端口号。 $server_protocol 请求使用的协议,通常是HTTP/1.0或HTTP/1.1。 $uri 请求中的当前URI(不带请求参数,参数位于args,不同于浏览器传递的args),不同于浏览器传递的request_uri的值,它可以通过内部重定向,或者使用index指令进行修改。不包括协议和主机名,例如/foo/bar.html

location /ip {
    default_type application/json;
    add_header Access-Control-Allow-Credentials true;
    add_header Access-Control-Allow-Origin *;
    add_header Cache-Control public;
    add_header Cache-Control max-age=300;
    return 200 '{"code":$status,"ip":"$remote_addr","User-Agent":"$http_user_agent"}';
}

Original: https://www.cnblogs.com/bugutian/p/15433374.html
Author: 步孤天
Title: nginx常用常忘的配置方法

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/543591/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 关于taro引进vant组件所遇到的问题

    { from: ‘src/components/vantWeapp/wxs’, to: ‘dist/components/vantWeapp/w…

    Java 2023年6月6日
    086
  • Java 反汇编指南javap

    前言 在正式解读《Effective Java》之前,我们需要先了解 Java 反汇编,因为反汇编是我们学习和研究问题的重要手段之一。 结合反汇编才能更好地理解《Effective…

    Java 2023年5月29日
    088
  • MyBatis:log4j配置

    LOG_DIR=D:/logs/mybatis log4j.appender.Console=org.apache.log4j.ConsoleAppender log4j.appe…

    Java 2023年5月30日
    063
  • 字符串匹配—KMP算法

    KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的…

    Java 2023年6月9日
    072
  • 利用ServletContext,实现Session动态权限变更

    1、前言 很多Spring Boot应用使用了Session作为缓存,一般会在用户登录后保存用户的关键信息,如: 用户ID。 用户名。 用户token。 权限角色集合。 等等。。。…

    Java 2023年6月14日
    064
  • SpringBoot 设置HTTP 响应状态码 (HTTP Status Code)

    SpringBoot 设置HTTP 响应状态码 (HTTP Status Code) HTTP请求响应的内容有很多,包括Body、Cookies、Headers和Status。我们…

    Java 2023年5月30日
    0158
  • cpp和c中struct用法的区别

    cpp和c中struct用法的区别 不使用typedef C语言中,定义struct的语法如下: struct [<tag>] { <member-list&gt…

    Java 2023年6月7日
    068
  • java函数式编程之Collector、Optional、CompletableFuture详解

    1. Stream.collect() collect就是一个归约操作,就像reduce一样可以接受各种做法作为参数,将流中的元素累积成一个汇总结果 reduce不会修改累计值对象…

    Java 2023年6月9日
    060
  • Rubinius 2.0 发布,Ruby 虚拟机

    Rubinius 2.0 发布了,官方发行说明请看这里。 Rubinius是一个运行Ruby程序的虚拟机,其带有Ruby的核心库。 Rubinius的设计决定了其调试功能的强大,使…

    Java 2023年5月30日
    084
  • 深入理解super关键字

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月7日
    070
  • 【工作篇】接口幂等问题探究

    最近遇到一些问题,表单重复提交,导致插入重复数据到数据库,这里查询一些通用的方案,自己都实践一下,以后好回顾。 幂等含义 幂等(idempotent、idempotence)是一个…

    Java 2023年6月5日
    063
  • 分布式事务

    0.理论基础 0.1.CAP定理 Consistency(一致性) Availability(可用性) Partition tolerance (分区容错性) 0.1.1.矛盾 在…

    Java 2023年6月9日
    079
  • JAVA中创建线程池的五种方法及比较

    之前写过JAVA中创建线程的三种方法及比较。这次来说说线程池。 JAVA中创建线程池主要有两类方法,一类是通过Executors工厂类提供的方法,该类提供了4种不同的线程池可供使用…

    Java 2023年5月29日
    078
  • 不同标准下的C语言常量范围的默认类型的检测 (测试样例为C90与C99)

    不同标准下的C语言常量范围的默认类型的检测 一、 C90与C99标准下的不同常量范围的默认类型 *C90标准下对不同常量范围默认类型的检测实现及运行结果: C9 9 *标准下对不同…

    Java 2023年6月5日
    061
  • 你的博客被搜索引擎收录了吗?

    持续原创输出,点击上方蓝字关注我 前言 如何判断自己的博客被百度收录了? 如何操作? 准备一个百度站长账号 验证网站所有权 HTML验证 生成站点地图 如何自动推送? 总结 大部分…

    Java 2023年6月14日
    059
  • 面向对象-基础篇

    前言: 引出类与对象(oop) — 为什么需要类与对象(oop) *例:我有两只小狗,有姓名,年龄,性别,怎么完成该操作? //用变量 String DogName =…

    Java 2023年6月16日
    088
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球