博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx 使用总结
阅读量:4596 次
发布时间:2019-06-09

本文共 2956 字,大约阅读时间需要 9 分钟。

nginx安装: 

 我按照上面步骤安装的.然后练习下nginx的日常操作,先熟悉下面几个命令

/usr/local/webserver/nginx/sbin/nginx -t # 修改conf后验证 /usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx
sudo nginx -c /usr/local/etc/nginx/nginx.conf   # 停止后的启动

    ps -ef |grep nginx

 

netstat -anp |grep 3306 error_log 级别分为 debug, info, notice, warn, error, crit 默认为crit, 该级别在日志名后边定义格式如下: 1.设置并返回参数 location / {
default_type text/html;

  set $a "hello";

  set $b "world";
  return 200 "$a$b";
}

2.获取参数并处理

获取请求的word参数

location /test {

default_type text/html;
set $suff "s";
set $word "$arg_word";
return 200 "单词$word 的复数是$word$suff";
}

3.花括号的使用

location /test1 {

default_type text/html;
set $word "$arg_word";
return 200 "test1单词$word 的复数是${word}s";
}

4.http下的geo模块

可根据请求的url中name参数的IP匹配返回值

geo $arg_name $a {

default “我是geo默认值”;
127.0.0.1 “我是张三”;
192.168.1.1 “我是李四”;
}

location / {

default_type text/html;
return 200 $a;
}

5.内置动态变量

目前在nginx的http模块中有六种内置动态变量,分别是“http_”、“sent_http_”、“upstream_http_”、“upstream_cookie”、“cookie_”,“arg_”

以“http_”开头的动态内置变量可以表示http请求过程中的任意请求头,使用的过程中不区分大小写,并且请求头中如果有“-”字符需要用“_”字符替代。 

location /gethead {

default_type text/html;
return 200 "User-Agent:$http_user_agent";
}

6.根据请求头中值判断转发

 

upstream oldserver {

  server www.baidu.com;
}
upstream newserver {
  server www.qq.com;
}

 

 

location /livenet {

   set $vc "$http_vc";
     if ( $vc ~* "(200)") {
    proxy_pass http://oldserver;
  }
  if ( $vc ~* "(300)") {
    proxy_pass http://newserver;
  }

 

 

    location /livenet/ {
  include /etc/nginx/proxy.conf;
  proxy_set_header Cookie $http_cookie;
  #根据请求头跳转
  set $vc "$http_vc";
  if ( $vc ~* "(220)") { 
    proxy_pass http://new;
      }

      #根据url请求地址跳转

    if ($request_uri ~* "getinfo"){ 
        proxy_pass http://new;
    }
       proxy_pass http://tomcat;
  }

 

           

         //匹配到xxl后将会在root访问目录后追加xxl

           location ^~ /xxl{

                root /usr/share/nginx/html/XXL;
                index index.html index.htm;
          }

}

 

 

2.rewrite 使用

 

 

server {

 

        listen 80;

 

        server_name abc.com;

 

        rewrite ^/(.*) http://www.abc.com/$1 permanent;

 

}

 

 

 

 

https://www.jb51.net/article/82168.htm

https://www.cnblogs.com/czlun/articles/7010604.html

其它:

  1. nginx中使用“$”或“${}”符号来表示一个变量

  2. nginx中的变量支持变量插入,比如“I am a $uri”

  3. 可以表示变量的有效字符只有四种:“a-z”、“A-Z”、“0-9”、“_”

  4. nginx中变量可分为内置变量(比如$uri)和自定义变量(比如用set定义的变量)

  5. nginx 中所有的变量都是全局可见的,但它又不是全局变量

  6. nginx中有六种动态内置变量,分别是“http_”、“sent_http_”、“upstream_http_”、“upstream_cookie”、“cookie_”,“arg_”。(在nginx的1.13.2版本中又多一个“$sent_trailer_”)

  7. nginx中几乎所有的内置变量都是不可变的,除了“args”和“$limt_rate”

  8. nginx中所有的变量都会关联一个get_handler()方法,不可缓存的变量每次获取值时都会调用这个方法,可缓存的变量只会调用一次

  9. nginx中的变量在各个请求之前是相互隔离的(主子请求除外)

  10. 变量在主子请求之间是共享的,但最终值是否相同则取决于该变量是否可缓存

  11. nginx中的变量值都是字符型的(除了“${binary_remote_addr}”变量)

7.启用GZIP

 gzip on;

 gzip_min_length 1k;
 gzip_buffers 4 16k;
 #gzip_http_version 1.1;
 gzip_comp_level 6;
 gzip_types text/plain application/javascript text/javascript image/jpeg image/gif image/png text/css application/xml;
 gzip_vary on;

 

注意:application/javascript ,去年x-

 

转载于:https://www.cnblogs.com/lpcyj/p/9131140.html

你可能感兴趣的文章
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>
Vue 数组 字典 template v-for 的使用
查看>>
蓝牙模块选择经验谈
查看>>
java中==和equals
查看>>
CCActionPageTurn3D
查看>>
python random
查看>>
esp32-智能语音-cli(调试交互命令)
查看>>
netty与MQ使用心得
查看>>
关于dl dt dd 文字过长换行在移动端显示对齐的探讨总结
查看>>
swoolefy PHP的异步、并行、高性能网络通信引擎内置了Http/WebSocket服务器端/客户端...
查看>>
Python学习笔记
查看>>
unshift()与shift()
查看>>