zoukankan      html  css  js  c++  java
  • Nginx基础使用

     nginx 服务器重启命令,关闭

      nginx -s reload  :修改配置后重新加载生效
      nginx -s reopen  :重新打开日志文件
      nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

      关闭nginx:
      nginx -s stop:快速停止nginx
              quit :完整有序的停止nginx

      其他的停止nginx 方式:

      ps -ef | grep nginx

      kill -QUIT 主进程号     :从容停止Nginx
      kill -TERM 主进程号     :快速停止Nginx
      pkill -9 nginx          :强制停止Nginx

      启动nginx:
      nginx -c /path/to/nginx.conf

      平滑重启nginx:
      kill -HUP 主进程号
     

    Nginx server匹配规则正解

    语法格式:location [=|~|~*|^~|@] /uri/ { … }
    其中“~ ”和“~* ”前缀表示正则location ,“~ ”区分大小写,“~* ”不区分大小写;其他前缀(包括:“=”,“^~ ”和“@ ”)和无任何前缀的都属于普通location 
     
    nginx匹配规则:
    先普通location,然后再正则location
    普通location内部(普通location与普通location)实行以“ 最大前缀匹配”为普通location结果(注意:这是一个临时结果,还要进行后面的正则location匹配)。
    然后再进行正则location匹配。
    正则location内部(正则location与正则location)实行“书写顺序匹配”,匹配到第一个就停止后面的正则匹配。
    然后决策匹配结果是“正则匹配如果有匹配上则覆盖普通location匹配结果,否则返回普通location匹配结果
     
    通常情况下:先普通,后正则,但是也可以再匹配普通完成后阻止继续正则匹配
    要做到这一点两种方式:
    • 只要在“普通location ”前面加上“^~ ”符号(^ 表示“非”,~ 表示“正则”,字符意思是:不要继续匹配正则)。
    • 可以加“= ”。
    区别很简单,共同点是它们都能阻止继续搜索正则location ,不同点是“^~ ”依然遵守“最大前缀”匹配规则,然而“= ”不是“最大前缀”,而是必须是严格匹配(exact match )。
     
    但其实还有一种“隐含”的方式来阻止正则location 的搜索,这种隐含的方式就是:当“最大前缀”匹配恰好就是一个“严格精确(exact match )”匹配,照样会停止后面的搜索。原文字面意思是:只要遇到“精确匹配exact match ”,即使普通location 没有带“= ”或“^~ ”前缀,也一样会终止后面的匹配。
     
    先举例解释下,后面例题会用实践告诉大家。假设当前配置是:
    location /exact/match/test.html { 
        配置指令块1
    }
    location /prefix/ { 
        配置指令块2
    } 
    location ~ .html$ { 
        配置指令块3
    } 

    如果请求 GET /prefix/index.html ,则会被匹配到指令块3 ,因为普通location /prefix/ 依据最大匹配原则能匹配当前请求,但是会被后面的正则location 覆盖;

    当请求GET /exact/match/test.html ,会匹配到指令块1 ,因为这个是普通location 的exact match ,会禁止继续搜索正则location 。

    总结来说: “正则 location 匹配让步普通location 的严格精确匹配结果;但覆盖普通 location 的最大前缀匹配结果
     
    server其他描述:
    alias:别名,匹配后,匹配的路径直接替换alias中的路径, alias指定的目录后面必须要加上"/"符号!
    location /www/ {
          alias /home/www/;
    }
    location为"www.xxx.com/www/index.html"最终查早到“/home/www/index.html”;
     
    root:根目录,匹配后,从root目录开始查找文件的目录。
    location /www/ {
          root /home/www/;
    }
    location为"www.xxx.com/www/index.html"最终查早到“/home/www/www/index.html”;
     
     
     
     
     
  • 相关阅读:
    HDU 1525
    kmp模板
    hdu 4616 Game(树形DP)
    hdu 4619 Warm up 2(并查集活用)
    hdu 4614 Vases and Flowers(线段树加二分查找)
    Codeforces 400D Dima and Bacteria(并查集最短路)
    poj 2823 Sliding Window (单调队列)
    hdu 2196 Computer(树形dp)
    hdu 4604 Deque
    最短路径
  • 原文地址:https://www.cnblogs.com/chuaWeb/p/nginx_base.html
Copyright © 2011-2022 走看看