默认情况下,IIS会为每个网站分配一个应用程序池,也有默认的回收策略。为什么我们要去修改IIS的应用程序池回收策略呢?因为如果某网站的应用程序池被回收后,下次有人要访问这个网站,IIS要新开一个进程来为该网站建立应用程序池,那么很不幸的,这个人需要等待较长的时间才能打开网站(只有第一个人会被影响)。这对访客来说自然是不友好的,所以必要时我们可以修改IIS的回收策略。
IIS的默认设置是根据时间来进行回收。此外我们也可以通过限制内存使用量来回收,不过不常用。本文要修改的也是时间策略。
打开IIS的应用程序池的默认设置:

修改默认设置可以将更改批量应用到所有站点中,这样比较方便。
Read More →

MiniPhoto 是一款小巧的图片批处理软件,可以批量对图片进行如下调整:
添加文字水印/图片水印、旋转、添加颜色滤镜、调整色相对比度、缩放图片、转换格式等。
我主要用到了这个软件的添加水印功能。最近我需要对某网站的附件文件夹里的图片批量添加水印,试了三款加水印的软件都不太理想,后来用了MiniPhoto,效果比较满意。
别看只是添加水印,但是我的需求还不少:
1.支持批量添加水印
2.支持子文件夹
3.按原目录层级输出结果
4.图片按原格式输出
5.宽高小于一定范围的图片不添加水印
MiniPhoto 能完全满足我这些需求,要说唯一的遗憾就是不支持按图片大小自动缩放水印大小。不过这个影响不大,没有也无所谓。


今天我想自己做个chrome主题,于是从谷歌应用商店下载了“主题创建者”这个应用程序。这个程序可以让我们设置chrome的一些外观选项,最后保存成一个压缩包。我们把这个压缩包解压到文件夹,再到chrome的扩展程序页面,加载这个文件夹即可。
Read More →
DeskPins 是一款windows 下的窗口置顶软件。这款软件是2004年的,颇有些年头了,不过得益于windows强大的向后兼容性,这款软件至今仍然可以正常生效(测试环境为win7)。
这个程序安装后运行它,它会出现在系统托盘区域。点击它之后鼠标就会变成图钉样式,之后将鼠标在要置顶的窗口上点击一下就ok了。
置顶成功之后,就会在窗口右上角显示红色的图钉标识,点击该标识可以取消置顶。操作起来非常的简单呢。
https://www.saber.love/ (原始输入) https:/ (期望的最终结果)
最近不止一个人跟我说访问本站页面出现了404,后来我深♂入了一下,发现出现这些404的情况是上面原始输入里面的情况,url是https协议带www的。
但本站以前设置过把www的转换成不带www的规则,我以为这样的输入应该会被转换为下面的正确形式,但是试了一下果然不行。我一开始以为是重定向规则或者url重写规则出了问题,最后才想起来域名解析这一块。我去IIS里看了看,之前没绑定https协议下的www.saber.love,绑定上就好了。
话说访问本站没必要加www,少敲点字符可以节约生命(+1s)。
办公室里有个电脑我前几天才重装了系统,很干净的系统,结果刚才那个同事说电脑卡。这才用了三天啊。
我过去看了一眼屏幕右下角,看到了360,就说你把360卸了吧。他不想卸,说卸了也没用。
我和他说,卸了总比不卸好,之后他竟然说:我就是因为电脑卡才装了360。
卧槽他还指望用360加速球(负优化)来加速系统还是怎么的?我无fuck说,只能送他一句:“那随便你吧”,转身走了。
以前我见过有些人,用360的理由是“不用360我用什么杀毒啊”,一幅不知道世界上还有其他杀毒软件的样子。但这么些年了我还是头一次看到有人因为电脑卡主动装了360。就让他这么卡着吧。
首先安装官方的URL Rewrite Module(URL 重写模块),之后配置检测referer 的规则即可。
配置有两种办法,一个是在IIS 里找到这个URL 重写模块,通过可视化操作设置规则。
另一个办法是直接在网站根目录的web.config 里添加规则。我用的是后一种办法。
在web.config 里添加一条规则:
<rule name="Prevent hotlinking">
<match url="^.*\.(jpg|png|gif)$" ignoreCase="true" />
<conditions>
<add input="{HTTP_REFERER}" pattern="https://simple.com/.*" negate="true" />
</conditions>
<action type="CustomResponse" statusCode="403" />
</rule>
这样就ok了。

如果最后你不想显示403状态码,而是显示一个自定义图片的话,可以把action 改成这样:
<action type="Rewrite" url="/img/bitch.png" />
如果想要允许复数的referer ,可以把add 规则复制,按自己的需要修改pattern 参数。
数据库的备份与恢复是个常见的问题,但是不同备份工具备份出来的.sql文件内容与格式不尽相同。
对于phpMyAdmin导出的sql文件,似乎用phpMyAdmin恢复比较容易。但我用其他一些MySQL数据库管理工具经常无法恢复成功(如使用Navicat for MySQL、HeidiSQL运行转储的sql文件,没有任何效果)。今天我试了下用MySQL命令行恢复phpMyAdmin导出的sql文件,感觉比较好使,记录一下。
恢复之前先手动创建一个空的数据库,编码和排序方式按需要选择。比如dedecms和WordPress默认的都是utf8_general_ci。
之后运行MySQL命令行,输入密码开始使用。
之后依次输入命令(按需要修改):
use databasename; set names utf8; source d:\desktop\simple.sql;
如下:

记得输入分号,否则第二个命令会跑偏。
输入第三条之后就开始恢复了,等到执行完毕就ok了。
其实前两条命令,有些工具导出的sql文件里已经有了,有的没有(phpMyAdmin导出的就没有,这应该也是直接运行它备份的sql文件时无法恢复数据的原因)。所以有些工具备份的sql文件可能比较容易恢复,有的就要手动输入命令了。
百度离线宝是百度推广后台的一个功能,它默认的代码会在网页上生成一个输入电话并拨打的功能。但如果我们想在自己做的按钮上调用它的功能,默认代码就做不到了,我们需要调用它的API JS文件。
如下图的按钮:

代码如下:
<input type="text" name="vtel" id="vtela" value="输入您的电话号码">
<input type="button" name="cbBtn" id="cbBtna" value="点击拨打">
<script>
// 输出离线宝js文件,注意替换uid为自己后台的id
document.write('<script data-lxb-uid="百度推广后台userid" data-lxb-gid="" src="http://lxbjs.baidu.com/api/asset/api.js?t='+new Date().getTime()+'" charset="utf-8"></scr'+'ipt>');
// 通过按钮调用离线宝功能
$("#cbBtna").click(function () {
lxb.call($("#vtela").val());
});
</script>
因为最近网站搬到了vps上,我也开始考虑申请ssl证书,把网站升级到https。
但是说到证书这一块,就又触及到我的知识盲区了。后来还是找了教程摸索出来的。
申请Let's Encrypt 证书教程:
《windows申请免费SSL证书-Let's Encrypt》
(申请Let's Encrypt 证书有很多不同的途径,使用的工具和步骤也不尽相同,我这个办法好像比较麻烦,不过能对流程有个大致的了解。另外有一些我踩过的坑,我会在文末附加说明)
证书申请完成之后,如何导入到 IIS 以及在网站里绑定,参考下面文章的 IIS 部分:
《IIS部署SSL,.crt .key 的证书》
ps:导入pfx文件的时候密码不用填。
此外还需要将http请求的页面自动跳转到https,参考教程:
《(各种版本) http怎么做自动跳转https?》
我添加了里面的iis的规则,可以正常使用。
Read More →