zoukankan      html  css  js  c++  java
  • Nginx学习笔记(三)

    一、Rewrite用法

    1、语法:

    rewrite regex replacement [flag];

    2、功能:
    使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用,例如 http://seanlook.com/a/we/index.php?id=1&u=str 只对/a/we/index.php重写

    3、flag标志位

    last : 相当于Apache的[L]标记,表示完成rewrite
    break : 停止执行当前虚拟主机的后续rewrite指令集
    redirect : 返回302临时重定向,地址栏会显示跳转后的地址
    permanent : 返回301永久重定向,地址栏会显示跳转后的地址
    因为301和302不能简单的只返回状态码,还必须有重定向的URL,这就是return指令无法返回301,302的原因了。这里 last 和 break 区别有点难以理解:

    last一般写在server和if中,而break一般使用在location中
    last不终止重写后的url匹配,即新的url会再从server走一遍匹配流程,而break终止重写后的匹配
    break和last都能组织继续执行后面的rewrite指令

    分析last和break的不同,举个例子

    location /test1.txt {
      root rootPath   rewrite
    /test1.txt/ /test2.txt break; } location ~ test2.txt { return 404; }

    上面例子如果访问http://***.com/test1.txt,会访问rootPath下面的test2.txt输出,如果break改为last,同样的请求,在rewrite之后会重新走一遍server,最终返回404

    二、设置php-fpm socket连接

    1、修改php-fpm.conf配置

    listen = /tmp/php-fpm.sock

    2、修改nginx.conf配置

    fastcgi_pass  unix:/tmp/php-fpm.sock; 

  • 相关阅读:
    Python_Crawler_Foundation1-2_MYSQL_Regular Expression
    Linux_Best Practice_01_Ubuntu_set prox_set Repositories
    python_Note_Preview_01
    Python_Note_Day 10_Coroutine
    Python_Note_Day 9_threading.Thread_multiprocessing.Process_Queue
    Linux_学习_Day4_user/group/permission
    Linux_学习_Day3_bash
    Linux_学习_Day2~3
    Python_Note_Day 8_socket
    Python_Note_Day 7_Advanced Class
  • 原文地址:https://www.cnblogs.com/hifelix/p/5909994.html
Copyright © 2011-2022 走看看