nginx配置location总结及rewrite规则写法

1. location正则写法 一个示例: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 # 但是正则和最长字符串会优先匹配 [ configuration B ] } location /documents/ { # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索 # 只有后面的正 ...

Nginx HTTP返回状态码修改

由于在nginx配置中,设置了limit_req的流量限制,导致许多请求返回503错误代码,在限流的条件下,为提高用户体验,希望返回正常Code 200,且返回操作频繁的信息: location  /test {   …   limit_req zone=zone_ip_rm burst=1 nodelay;   error_page 503 =200 /dealwith_503?callback=$arg_callback; } location /dealwith_503{   set $ret_body ‘{“code”: “V00006″,”msg”: “操作太频繁了,请坐下来喝杯茶。”}’;    if ( $arg_callback != “” )     ...

NGINX 配置404错误页面转向

什么是404页面 如果碰巧网站出了问题,或者用户试图访问一个并不存在的页面时,此时服务器会返回代码为404的错误信息,此时对应页面就是404页面。404页面的默认内容和具体的服务器有关。如果后台用的是NGINX服务器,那么404页面的内容则为:404 Not Found 为什么要自定义404页面 在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了。如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户。因此,每一个网站都应该自定义自己的404页面。 NGINX下如何 ...

ps 和 grep 查找消除 grep自身查找

用ps -def | grep查找进程很方便,最后一行总是会grep自己。 $ ps -def | grep dragonfly-framework dean      5273  5272  0 15:23 pts/5    00:00:00 newlisp ./dragonfly-framework/newlisp-redirection.lsp -http -d 8080 -w . dean      5491  5229  0 15:37 pts/16   00:00:00 grep –color=auto dragonfly-framework 用grep -v参数可以将grep命令排除掉,因此修改版本如下: $ ps -def| grep dragonfly-framework | grep -v grep dean      5273  5272  0 15:23 pts/5    00:00:00 newlisp ./dragonfly-framework ...

shell判断星期几?

#!/bin/ksh
echo -n “please enter your date :”
read date
a=`date -d “${date}” +%w`
echo  $a
v_flag=`echo “${a}”`
case ${v_flag} in
0)
dbname=星期日
;;
1)
dbname=星期一
;;
2)
dbname=星期二
;;
3)
dbname=星期三
;;
4)
dbname=星期四
;;
5)
dbname=星期五
;;
6)
dbname=星期六
esac

if [ !  -n “${dbname}” ]; then

echo “你输入的日期格式有误,请输入有效的日期格式yyyy-mm-dd或yyyymmdd !”
else
echo “你输入的日期是:${dbname}”
fi

ubuntu下搭建代理服务器

安装squid sudo apt-get install squid squid配置 squid的配置文件在: /etc/squid3/squid.conf 。这个文件有很详细的说明, 不过对于我来说是太啰嗦了。记下几个配置要点,以后照着操作就是了。 找到 http_access deny all ,将 deny 改成 allow 。意思是允许任何IP使用这个代理。 http_access allow all 配置端口,这是服务器的监听端口,也就是客户端连接服务器时配置的端口,这里保持默认。 http_port 3128 缓存大小设置 cache\_mem 32 MB #vps的配置文件在内存很小,还是节省点吧。 重启squid sudo service squid re ...

基于TinyProxy搭建HTTP代理服务器

linux下搭建http代理 一、前言     关于为什么要玩玩HTTP代理就不用我多说了。 二、搭建环境     * Linux laptop 2.6.32-45-generic #100-Ubuntu SMP Wed Nov 14 10:41:11 UTC 2012 i686 GNU/Linux     * tinyproxy 1.8.1 三、安装方法     $sudo apt-get install tinyproxy     安装后自动以root权限开启了tinyproxy服务,且默认监听端口是8888 四、启动帮助     $tinyproxy –help     Usage: tinyproxy [options]     Options are:       -d        Do not daemonize (run in foreground).       -c FILE   Use an alterna ...

git tag — 标签相关操作

标签可以针对某一时间点的版本做标记,常用于版本发布。 列出标签 $ Git tag # 在控制台打印出当前仓库的所有标签 $ git tag -l ‘v0.1.*’ # 搜索符合模式的标签 打标签 git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签。 # 创建轻量标签 $ git tag v0.1.2-light # 创建附注标签 $ git tag -a v0.1.2 -m “0.1.2版本” 创建轻量标签不需要传递参数,直接指定标签名称即可。 创建附注标签时,参数a即annotated的缩写,指定标签类型,后附标签名。参数m ...

git stash — 暂存临时代码

stash命令可以很好的解决这样的问题。当你不想提交当前完成了一半的代码,但是却不得不修改一个紧急Bug,那么使用’Git stash’就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用’git stash apply’将以前一半的工作应用回来。 当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,’git stash list’命令可以将当前的Git栈信息打印出来,你只需要将找 ...

git stash — 暂存临时代码

stash命令可以很好的解决这样的问题。当你不想提交当前完成了一半的代码,但是却不得不修改一个紧急Bug,那么使用’Git stash’就可以将你当前未提交到本地(和服务器)的代码推入到Git的栈中,这时候你的工作区间和上一次提交的内容是完全一样的,所以你可以放心的修 Bug,等到修完Bug,提交到服务器上后,再使用’git stash apply’将以前一半的工作应用回来。 当你多次使用’git stash’命令后,你的栈里将充满了未提交的代码,这时候你会对将哪个版本应用回来有些困惑,’git stash list’命令可以将当前的Git栈信息打印出来,你只需要将找 ...