程序代码:测试

© ㄒiger / Posted in 程序代码 / March 7, 2014

apache 伪静态规则

RewriteEngine On

RewriteRule ^([a-zA-Z]+)\.(jpg|gif|png|wbmp)$ controller/Resizer.php?m=original&a=$1&e=$2 [L]
RewriteRule ^(icon|small|medium|square)\/([a-zA-Z]+)\.(jpg|gif|png|wbmp)$ controller/Resizer.php?m=$1&a=$2&e=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule (.*) application.php?request=$1 [L,QSA]

nginx 伪静态规则

rewrite ^/([a-zA-Z]+).(jpg|gif|png|wbmp)$ /controller/Resizer.php?m=original&a=$1&e=$2 last;
 rewrite ^/(icon|small|medium|square)/([a-zA-Z]+).(jpg|gif|png|wbmp)$ /controller/Resizer.php?m=$1&a=$2&e=$3 last;
 if (!-f $request_filename){
  set $rule_2 1$rule_2;
 }
 if ($rule_2 = "1"){
  rewrite /(.*) /application.php?request=$1 last;
 }


© ㄒiger / Posted in 程序代码 / June 21, 2012

squid.conf
#
acl CactiServer src 192.168.0.119
acl snmpcommunity snmp_community public
snmp_port 3401
snmp_access allow snmpcommunity CactiServer
#这部分是为cacti的监控设置
#用snmpwalk -c public -v1 192.168.0.119:3401 .1.3.6.1.4.1.3495.1 测试是否成功
#

visible_hostname cache.lamiu.com
cache_effective_user squid
cache_effective_group squid # 启动的用户与组
cache_mgr yangting@lamiu.com
cache_dir ufs /var/cache/squid/cache/ 1024 16 128 #缓存的路径,大小为1024M 16个头目录,128个子目录
cache_mem 128 MB #内存

cache_peer www.lamiu.com parent 80 0 no-query originserver name=www
cache_peer bbs.lamiu.com parent 80 0 no-query originserver name=bbs #定义不同的父节点,将节点设为no-query以及originserver说明这些节点是实际服务器

cache_peer_domain www www.lamiu.com
cache_peer_domain bbs bbs.lamiu.com #设定不同域名转发到不同的cache_peer上,如果没有这项.不同域名的域名可能被分发到同一台服务器上.

acl all src 0.0.0.0/0.0.0.0
http_access allow all #允许所有客户端访问

cache_swap_high 100%
cache_swap_low 95% #(cache_swap_low 和cache_swap_high 指令控制了存储在磁盘上的对象的置换。它们的值是最大cache 体积的百分比,这个最大cache 体积来自于所有cache_dir 大小的总和)

maximum_object_size 1024 KB #大于此容量的对象将不会被保存在磁盘上,默认大小是4M,
maximum_object_size_in_memory 100 KB # 最大位于内存中的对象的大小,默认大小是8K,

hierarchy_stoplist cgi-bin ?
hierarchy_stoplist -i ^https:\\ ? #squid将请求标记为不可层叠,直接转发

emulate_httpd_log on #打开emulate_httpd_log选项,将使Squid仿照Aapche的日志格式
cache_store_log none #这个设置是不记录store.log
pid_filename /var/log/squid/squid.pid
cache_log /var/log/squid/cache.log
access_log /var/log/squid/access.log
half_closed_clients off #半关闭状态的TCP连接,设为off,则一旦从客户端返回“no more data to read”的信息,squid就立即关闭该连接
logfile_rotate 4 #可以用logfile_rotate 0来取消自动操作

acl QUERY urlpath_regex -i cgi-bin \? \.php \.xml
acl denyssl urlpath_regex -i ^https:\\
no_cache deny QUERY
no_cache deny denyssl #不对符合QUERY,denyssl的ACL内容进行缓冲

acl localhost src 127.0.0.1/255.255.255.255
acl manager proto cache_object
acl purge method PURGE
http_access allow manager localhost #cache_object是squid的缓存管理接口,这配置行只允许本机的缓存管理请求
http_access allow purge localhost #只有本机能删除了cache目标 squidclien -m PURGE -p 80 http://www.***.com

acl FTP proto FTP
http_access deny FTP #拒绝所有的FTP请求

#refresh_pattern 指令间接的控制磁盘缓存。
#refresh_pattern [-i] regexp min percent max [options]
refresh_pattern -i \.jpg$ 30 50% 4320 reload-into-ims
refresh_pattern -i \.htm$ 0 20% 1440

#refresh_pattern 指令也有少数选项导致squid 违背HTTP 协议规范。它们如下:
override-expire
该选项导致squid在检查Expires 头部之前,先检查min 值。这样,一个非零的min 时间让squid返回一个未确认的cache 命中,即使该响应准备过期。
override-lastmod
改选项导致squid 在检查LM-factor 百分比之前先检查min 值。
reload-into-ims
该选项让squid 在确认请求里,以no-cache 指令传送一个请求。换句话说,squid 在转发请求之前,对该请求增加一个If-Modified-Since 头部。注意这点仅仅在目标有Last-Modified时间戳时才能工作。外面进来的请求保留no-cache 指令,以便它到达原始服务器。
ignore-reload
该选项导致squid 忽略请求里的任何no-cache 指令。
#squidclient -r -p 80 http://www.***.com 能Force cache to reload URL

© ㄒiger / Posted in 程序代码 / May 21, 2012

 

个人从界面上看,更新如下:
1.附近的人支持性别筛选
2.邮件支持上传附件
3.界面图标有变化
4.还有语音方面有优化

网上搜到的地址,很多都是要登录后才能下载。。懒的注册。。

电脑下载地址:http://soft.www.com.ht/Nokia/weixin3.72S60v5th.sisx

手机下载地址:http://aff.tf/3 

63235485.png63235486.png

SuperScreenshot0002.jpgSuperScreenshot0004.jpg

© ㄒiger / Posted in 程序代码 / February 27, 2012

用IP查询,IP段查询,可用IP数查询,查询IP段可用的IP数目

比如我们以前要添加125个IP(/25),每次都要去重新查下,在改写个脚本,次数多了觉得麻烦,直接写了个小程序,可自动生成windows/centos 批量添加IP的代码,可节约些时间。
http://www.ctohome.com/linux-vps-pack/ip.php
比如一次添加125个IP(172.203.46.128/25):
CentOS 系统里创建下面的配置文件,可直接绑定上述IP地址到网卡eth0
然后 service network restart 使之生效,能ping通就说明绑定成功了。说明:Linux批量添加IP:

vi /etc/sysconfig/network-scripts/ifcfg-eth0-range125

DEVICE=eth0
BOOTPROTO=static
CLONENUM_START=8
IPADDR_START=172.203.46.130
IPADDR_END=172.203.46.254
NETMASK=255.255.255.128
ONBOOT=yes


Windows 系统里面,请在DOS窗口下执行下面的命令,可批量添加IP地址。说明:Windows批量添加IP

DOS命令(复制,粘贴到你服务器的dos窗口,回车即可):

for /l %i in (130,1,254) do netsh interface ip add address "你机器的网卡名称" 172.203.46.%i 255.255.255.128

IP段中 子网掩码、网关 有什么作用?请看这里:

  1. 子网掩码作用:就是将某个IP地址划分成网络地址和主机地址两部分子网掩码的设定必须遵循一定的规则。
  2. 网关到底是什么:网关实质上是一个网络通向其他网络的IP地址。在没有路由器的情况下,两个网络之间是不能进行TCP/IP通信的,即使是两个网络连接在同一台交换机(或集线器)上,TCP/IP协议也会根据子网掩码(255.255.255.0)判定两个网络中的主机处在不同的网络里。而要实现这两个网络之间的通信,则必须通过网关。

© ㄒiger / Posted in 程序代码 / February 24, 2012

Show yesterday's date:

$ date -d yesterday
$ date -d yesterday +%Y-%m-%d

Show the UNIX timestamp:

$ date +%s
$ date --utc +%s
$ date -d yesterday --utc +%s

Convert a date string to timestamp:

function date2stamp () {
date --utc --date "$1" +%s
}

Convert a timestamp to a date string:

function stamp2date () {
date --utc --date "1970-01-01 $1 sec" "+%Y-%m-%d %T"
}

Calculate a date difference:

function dateDiff () {
case $1 in
-s) sec=1; shift;;
-m) sec=60; shift;;
-h) sec=3600; shift;;
-d) sec=86400; shift;;
*) sec=86400;;
esac

dte1=$(date2stamp $1)
dte2=$(date2stamp $2)
diffSec=$((dte2-dte1))
if ((diffSec < 0)); then abs=-1; else abs=1; fi
echo $((diffSec/sec*abs))
}