• nginx知识


    1.重定向配置

    # /etc/nginx/nginx.conf nginx的配置文件夹
    #下面代码写在server,location核心模块中,$http_host客户端设法要到达主机的主机名
    if ($http_host !~ “^www.yourdomain.com$”) {
       #rewrite 重写模块,重定向到其他的location
       #第一个参数为URI的相对路径,而且没有参数,二个需要对参数进行处理。URI后面添加一个参数。
       rewrite  ^(.*)    http://www.youdomain.com$1 permanent;
    }
    
    Nginx的 Rewrite Flags:
    last – 新的URL查找到location区域,但是后面的rewrite指令失效
    break – 中止Rewirte,不在继续匹配
    redirect – 返回临时重定向的HTTP状态302
    permanent – 返回永久重定向的HTTP状态301 

    看看break的具体功能

    #请求的uri的文件存在,break指令会阻止nginx改写URI
    if(-f $uri){
       break;
    }
    if($uri ~^/seach/(.*)$){
        set $query $1;
        rewrite ^ /search.php?q=$query?;  
    }
    #改写类似/search/anything成为/search/anything,如果$URI存在,则不被修改。

    另外还有return指令、set指令、uninitialized_variable_warn指令、rewrite_log指令,这些都比较简单,查询具体用法即可。

    需要介绍的指令是:

    server_name_in_redirect:on或者off,默认值为on,

       on:使用server_name指令的第一个主机名来进行重定向。

       off:使用客户端HTTP请求头中的HOST的值进行重定向。

    port_in_redirect:on或者off,默认值为on

      是否将端口重定向后添加到URL中。nginx转发到tomcat,nginx的端口和tomcat的端口不一致,tomcat进行重定向之后,

      tomcat把包交给nginx之后,nginx在location前面加上了自己的端口号,可能会造成连接不上的情况。

    2.nginx操作

      在env/nginx/sbin目录下输入:nginx,即可重启!

      nginx -V  //查看当前运行的配置信息

    3.小技巧

     1.linux下查看nginx的安装目录:输入命令行: ps  -ef | grep nginx

     出现: nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf  //那么nginx就安装在/usr/sbin/下。
     2.在nginx下访问403,发现图片访问出现403,其他没有问题,看来下图片的文件夹没有读写的权限,修改下权限就OK了!
    4.平滑重启

    平滑重启命令:/usr/nginx/sbin/nginx -s reload  

    注意,修改了配置文件后最好先检查一下修改过的配置文件是否正确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:

    nginx -t -c /usr/nginx/conf/nginx.conf   

    或者

    /usr/nginx/sbin/nginx -t

    5.对目录的重新部署域名

    location /handler/online  {   //指定目录
              add_header x-nodejs openapidev;
              proxy_set_header Host  $host;
              proxy_set_header X-Forwarded-For  $remote_addr;
              proxy_set_header realip  $remote_addr;
              proxy_pass http://nodejs_openapi_dev;
    
      }
    //
    如果排除目录,则
    location /handler/(^online)
    upstream nodejs_openapi_dev { 
    #upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。
    server
    127.0.0.1:3000 weight=3;
    }

    https://mydear.site 

     
  • 相关阅读:
    HTTPS-能否避免流量劫持
    安全-流量劫持能有多大危害?
    SpringBoot集成原生redis
    SpringBoot+Thyemleaf
    java项目反编译获得源码
    idea代码回退到前面的版本
    linux部署Web项目总结
    win7安装linux CentOS7双系统实践
    windows批量修改文件后缀名
    Hibernate
  • 原文地址:https://www.cnblogs.com/liuyinlei/p/5369203.html
Copyright © 2020-2023  润新知