删除nginx-fastcgi-cache缓存

老高通过nginx的优化配置,配置了fastcgi_cache,服务器使用缓存固然很好,但是也会遇到很尴尬的时候。 比如突然发现某个错别字,在后台改好后发现文章之前已被缓存,不知道还要等多久才能刷新,解决办法是删除生成的文件 但想要找到已经可不容易,有两个办法: 一个一个找或者直接删除全部缓存 根据nginx的URL – key的规则,再使用两层hash来定位文件 因为老高缓存的文件数不多,所以最后的解决办法是 – 关键字过滤 # 找 grep -r 'your keywords' . # 删 grep -rl 'your keywords' . |xargs rm 下面的也可以 find |xargs grep 'your keywords' find |xargs grep -l 'your keywords'|xargs rm 顺便记个笔记 # 顺便记一下find限定查找文件和目录 find -type f find -type d # grep --help 中-R也很有用! grep -r --include="*.php"

May 20, 2015 · 1 min · Me

typecho插件编写教程3---保存配置

上一节我们制作了一个裸插件,下面我们开始让我们的插件开始工作! ...

May 20, 2015 · 1 min · Me

typecho插件编写教程2---新插件

第一节我们了解了一个插件的基本构成,下面我们需要一个实例练习巩固。 真赶巧,老高最近正在改版百度sitemap提交插件for typecho,下面和老高一起改版吧! ...

May 20, 2015 · 1 min · Me

typecho插件编写教程1---从HelloWorld说起

最近老高正在编写一个关于typecho的插件,由于typecho不像wordpress,有那么多的文档参考,写一个插件还是遇到了很多的坑,不过随着研究的不断深入,老高也慢慢上手了,于是总结出此篇编写教程分享给大家! 如果你对typecho的源码有兴趣,可以参考老高的系列文章 typecho源代码解析1 - 系统初始化 typecho源代码解析2 - 插件机制 typecho源代码解析3 - 路由分发 typecho源代码解析4 - 业务逻辑 ...

May 19, 2015 · 1 min · Me

nginx编译安装ngx_lua模块

nginx lua模块淘宝开发的nginx第三方模块,它能将lua语言嵌入到nginx配置中,从而使用lua就极大增强了nginx的能力. ...

May 19, 2015 · 2 min · Me

nginx的优化配置

老高的服务器最近表示亚历山大,先祭出此篇缓解前端压力,之后再从代码中优化一下。 ...

May 19, 2015 · 2 min · Me

用ss-manyuser和ss-panel搭建shadowsocks分享平台

ss-manyuser做前端,ss-panel做后端,运行环境centos6。 项目地址 感谢以下大神提供源码 manyuser: shadowsocks manyuser branch ss-panel: ss-panel 安装 mkdir /data cd /data git clone https://github.com/mengskysama/shadowsocks.git backend git clone https://github.com/orvice/ss-panel.git front 配置 front # 1. 创建数据库,并建立一个本地用户shadowsocks@localhost,并赋予权限 CREATE DATABASE IF NOT EXISTS shadowsocks DEFAULT CHARSET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON shadowsocks.* TO 'shadowsocks'@'localhost' IDENTIFIED BY 'password'; # 2. 导入sql cd front cat sql/*.sql > merged.sql # 登录mysql mysql>use shadowsocks; mysql>source path/to/merged.sql; # 3. 将数据库配置信息写入lib/config.php 这里要提一下: userid=1的用户是管理员,最好把他的端口将50000改为15000,密码是直接md5,可以自己修改。 passwd字段是ss的连接密码。 backend # 准备环境 yum -y install python-pip m2crypto pip install cymysql # 2....

May 18, 2015 · 1 min · Me

simple_html_dom换行符丢失的问题

今天老高在更新**Table Of Contents for typecho**的时候,遇到了一个问题。 因为解析文档的时候,换行符\n被无故删除掉了,导致pre中code的解析一片混乱,阅读源代码后发现了这个选项stripRN,默认值是true,即默认删除变量中的换行符,将其关闭即可! 核心代码位于约1147行左右。 if ($stripRN) { $str = str_replace("\r", " ", $str); $str = str_replace("\n", " ", $str); ...

May 18, 2015 · 1 min · Me

模拟登录脚本之搬瓦工bandwagonhost

老早写的,都忘了当初想干啥了。。。。 半成品,留个坑,待填。 #!/usr/bin/env python # encoding: utf-8 import cookielib import requests def http_send(url, post_data='', **kwargs): cookie_handler = cookielib.MozillaCookieJar('cookie.txt') try: cookie_handler.load(ignore_discard=1) except cookielib.LoadError, e: print e + "new cookie file" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36'} if post_data: req = requests.post(url, data=post_data, cookies=cookie_handler) else: req = requests.get(url) print req.headers for c in req.cookies: cookie_handler.set_cookie(c) cookie_handler.save(ignore_discard=1) return req.content if __name__ == '__main__': # init cookie print http_send('http://localhost/clientarea....

May 17, 2015 · 2 min · Me

发现一个命令ldd

ldd是Linux库操作中最实用的一个命令了,他可以查看一个程序所依赖的库。 如果你的程序执行起来缺少某个库,我们就去下载,但是把库放到哪里才能让程序正确是识别出来呢?使用ldd就可以了! 使用方法: ldd [options] file 功能:列出file运行所需的共享库 可用选项 ➜ sbin ldd --help Usage: ldd [OPTION]... FILE... --help print this help and exit --version print version information and exit -d, --data-relocs process data relocations 执行符号重部署,并报告缺少的目标对象 -r, --function-relocs process data and function relocations 对目标对象和函数执行重新部署,并报告缺少的目标对象和函数 -u, --unused print unused direct dependencies 打印不需要链接的库 -v, --verbose print all information 打印所有信息 例子 ➜ /bin ldd /bin/cp linux-vdso.so.1 => (0x00007fff8dbfe000) libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f94558e4000) librt.so.1 => /lib64/librt.so.1 (0x00007f94556dc000) libacl....

May 17, 2015 · 1 min · Me