为nginx安装ngx_lua模块

By zhujinliang | 分类: 软折腾

之前买了一个域名:zhjl.me,一直闲置着,于是想拿来做短域名。

琢磨在现在的VPS上加短域名,要求一定要轻量,负载小。转了一圈,觉得ngx_lua比较合适,于是开始研究如何安装ngx_lua模块。

ngx_lua模块属于第三方模块,需要自己动手安装吗,而nginx安装模块需要重新编译。一直用的是lnmp一键安装包,该安装包就是编译安装的,从这个包的基础上再安装ngx_lua不麻烦。

模块主页有安装方法介绍:http://wiki.nginx.org/HttpLuaModule#Installation

继续阅读该文章 »

发表对该文章的首个留言.
标签:, ,
 TOP

pwGenius 用一个小玩意管理你的密码

By zhujinliang | 分类: 硬折腾

抽时间做了一个小东西,左手同学称为“密码记录大杀器”,名字还没想好,我暂定为pwGenius。

解决的问题:自从某网站爆出大量用户密码及由此开始的诸多事件,各网站、论坛都要求使用较复杂的密码来登录,即要求长度足够,又要求大写字母、小写字母、数字三者缺一不可。想一个即好记又足够安全的密码不容易,不如用个硬件来随机生成,并记录在硬件内,使用时再代替人输入。

简单使用说明:

① 插入USB接口,系统可自动识别为USB键盘。
② 等待系统驱动好pwGenius,待驱动好后,绿色指示灯会常亮。
③ 如需输入某个密码槽中的密码,按对应的按键即可。如果该槽位中有已生成好的密码,则会通过模拟键盘快速地敲入字符,输入过程中会自动识别当前大小写状态,并自动转换。输入过程中绿色指示灯会快速闪烁;如果该槽位中没有保存密码,则红色指示灯会快速闪烁三次。如果意外导致密码槽中的密码读取失败,则红色指示灯常量,并锁死硬件,建议更换pwGenius。
④ 如③中快速按两下按键,则会在输入完密码后自动按下回车键。
⑤ 如需生成密码,长按侧面的功能键,直到指示灯变为红色慢闪。此时按下某个密码槽的按键,即可生成密码,第一次按将生成一个6位密码,之后每按一次会增加两位,直到达到最大长度(30位)。达到需要的长度后,再次长按功能键即可。

生成的密码类似这样:
Eyn8o8Z7trJE
24pSXm7Y4G9SE99Hhna7ON5ss5JEX3

继续阅读该文章 »

该文章有 5 个留言,点击加入会话.
标签:,
 TOP

通过php调用awstats cgi查询统计结果

By zhujinliang | 分类: 软折腾

网上多见awstats与apache配合使用,因为apache能直接调用cgi程序。而且nginx只能在一边看每天生成的静态页面,如果想在nginx上执行cgi,需要用一个perl的脚本,如此文所述,实现cgi宿主功能,将cgi请求变为fcgi请求。

研究了一下,发现我们可以通过php执行shell命令的能力来调用cgi程序,如此一来,我们不仅可以方便地调用awstats,而且同时可实现一些权限检查等功能。

不过具体实现起来还遇到了不小的问题,这篇博文最初想的题目是“php对cgi想说爱你不容易”,具体怎么回事,大家耐心往后看吧。

继续阅读该文章 »

发表对该文章的首个留言.
标签:, , ,
 TOP

用php实现nginx日志批量切割

By zhujinliang | 分类: 软折腾

接上文:尝试使用awstats分析Nginx日志。在实现了基本的分析后,又琢磨着怎么来切割日志。

网上有不少脚本用来切割,但我发现,均只能应用于一个站或预先配置好的几个站,而且都是bash脚本的,我也看不懂。于是打算自己用php写个。

您别笑,php写shell脚本也是很舒服的。

脚本实现功能:自动扫描指定目录下的log文件,移动到对应的目录中,并按日期更名,启动awstats更新,最后tar打包日志,只保留压缩后的日志。

继续阅读该文章 »

发表对该文章的首个留言.
 TOP

尝试使用awstats分析Nginx日志

By zhujinliang | 分类: 软折腾

其实早就想分析访问日志,看看自己的网站的访问情况,一直拖到现在。今天上午不想写代码了,于是乎搞搞看看。

网上关于awstats与nginx配合使用的文章不少,写这篇日志记录一下自己配置的过程,自己用作以后配置的参考。

继续阅读该文章 »

发表对该文章的首个留言.
 TOP

Javascript中的函数与类

By zhujinliang | 分类: 软折腾

Javascript中函数和类本质是一样的东西,唯一区别在关键字new上。

继续阅读该文章 »

该文章有1个留言,点击加入会话.
 TOP

程序名称暂定为every-macro。

every-macro是一个基于php,为js,css等文件提供类似C语言的宏指令功能的工具。

打包下载: every-macro.zip

Github: https://github.com/yurinacn/every-macro

继续阅读该文章 »

发表对该文章的首个留言.
标签:, , , , ,
 TOP

Nginx SSL双向认证配置经验

By zhujinliang | 分类: 软折腾

1. 确保已安装openssl

2. 进入/etc/ssl,图省事,以此目录作为证书生成工作目录

3. 编辑openssl.cnf。在[ ca ]下建立新的配置节,取名为[ nginx_ssl_auth ]:

继续阅读该文章 »

发表对该文章的首个留言.
 TOP

让JavaScript来扩展思路

By zhujinliang | 分类: 软折腾

JavaScript是门很有意思的语言。基于JavaScript的一些语言特性,有一些很有意思的用法。

继续阅读该文章 »

发表对该文章的首个留言.
标签:
 TOP

关于js中alert([]==![])结果为true的讨论

By zhujinliang | 分类: 软折腾

早上逛德问,发现一个有趣的问题:alert([]==![])结果为true,求解释。

一看到这问题,就知道肯定是隐式转换问题。

编译器碰到这个问题,第一步肯定是将双等号两边都变成基本变量。

左边是[],属object型变量,再看右边,是![],需要先运算一下。

![]即将[]隐式转换为boolean,然后取反,变量转boolean遵循以下规则:false、""、0、NaN、null、undefined转换为false,其余的均转换为true,故[]转换为boolean后为true,![]为false。

现在就是判断 []==false。两边类型不一样,需要做隐式转换。

上网搜索,查找javascript对于判断相等时的隐式转换规则。得到一条:

继续阅读该文章 »

该文章有 2 个留言,点击加入会话.
 TOP