网络 > debian 9.0+nginx v1.10.3 与windows server 2016 + iis 10.0的低配置环境下静态小文件benchmark对比
2018-07-10
知乎上遇到杠精,硬和我吹nginx+linux怎么对windows+iis有压倒性优势,硬要说静态文件上有优势。
好吧,反正现在云服务器可以按时间开,可以一试。
试验目的:
通过apache ab,访问指定的小文件,对比rps。
试验对象:
web服务器根目录下,名字为1.txt,内容为jarlyyn换行的小文件。
测试结果
- 100并发情况下,nginx 每秒请求20976,失败请求0。iis每秒请求20421,失败请求0.
- 500并发情况下,nginx 每秒请求21933,失败请求0。iis每秒请求19521,失败请求0.
- 1000并发情况下,nginx 每秒请求15887,失败请求1093。iis每秒请求18220,失败请求0.
- 2000并发情况下,nginx 每秒请求12218,失败请求1923。iis每秒请求17430,失败请求0.
结论
在1000以下的低并发情况下,nginx表现优异,对iis大概有10%的优势。1000并发级以上时,出现大量失败请求,rps相比iis极速下降。
iis整体随着并发数上升,相应速度组件下降,到2000并发为止,没有请求失败的情况出现。
服务器列表:
- 跑ab的测试机,ulimit -n 100000,无其他特殊设置。1核2g内存。
- 安装debian 6.0 跑nginx的对象A,apt-get 安装,ulimit -n 100000,关闭日志,无其他特殊设置。1核2g内存。
- 安装windows server 跑iis 10.0的 对象b,系统服务管理器安装,关闭日志,无其他特殊设置。1核2g内存。
附图:
访问测试,确保内容正确
由于Bom的缘故,iis版的测试文件大了1byte。但这个对全局影响不大。
nginx服务器:
iis服务器:
测试1:100并发
nginx图:
IIS图
测试2:500并发
nginx图:
iis图:
测试3:1000并发
nginx图:
IIS图:
测试4:2000并发
nginx图:
iis图:
网络 > 第三方登录的选择
2018-01-17
最近在给博客加评论,那势必最方便的是直接使用各家的第三方登录。
国内的微信/支付宝之类的登录虽然轻车熟路,但需要支付费用还不提,还需要审核。
备案还是小事,博客这玩意实在不容易过审,也就不考虑了。
除了吃饭必备的github,之前还打算用Steam登录的。
Steam的第三方登录只有一句openid,什么其他的文档都没有,在坑兹坑兹找了一通后,发现cli下curl访问不到。
对,想起来了,被墙了。
上dotamax上重新授权steam帐号,直连的话无法访问……可怜的dotamax……
反过神来考虑下其他第三方登录的选择。
facebook/twitter,之前倒是做过,但实在是用起来不方便
linkedin到还不错,但是信息太敏感。
纠结了下,能搞定中国政府的美国大互联网公司,应该也只有田字牌,水果和亚马逊了。
亚马逊帐号有的人少。
水果的不喜欢,好像也没提供oauth
那就只能田字牌了,毕竟没用过windows的还是少数啊。
无论如何,只要windows和office还在,微软总不会倒闭的。就怕他乱改。
网络 > 记录:通过nginx设置为站点资源,根据国内国外使用不同的cdn
2017-12-15
目标:加速客户网站访问,使用cdn。
为了效果以及费用考虑,国内的加载阿里云的,国外的加载cloudflare。使用nginx的变量功能实现了这一效果
首先,确认nginx有geoip模块,并下载相应geoip数据
其次,调整nginx.conf的http部分
geoip_country /GeoIP.dat;
geoip_city /GeoLiteCity.dat;
map $geoip_country_code $cdn {
default cf;
CN ali;
}
然后,调整nginx反代配置,以wordpress为例
location / {
set $cdnpath cfcdn.cfcdn.com;
sub_filter_once off;
if ($cdn = ali){
set $cdnpath alicdn.alicdn.com;
}
add_header X-Cdn $cdn;
sub_filter '${host}/wp-content/' '$cdnpath/wp-content/';
sub_filter '${host}/wp-includes/' '$cdnpath/wp-includes/';
sub_filter 'http:\/\/${host}\/wp-content\/' 'http:\/\/${cdnpath}\/wp-content\/';
sub_filter 'http:\/\/${host}\/wp-includes' 'http:\/\/${cdnpath}\/wp-includes';
sub_filter 'url("/wp-content/' 'url("http://${cdnpath}/wp-content/';
sub_filter 'src="/wp-content/' 'src="http://${cdnpath}/wp-content/';
sub_filter 'src="/wp-include/' 'src="http://${cdnpath}/wp-include/';
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
}
完成。
网络 > 上海电信封禁80/443端口后,将公司内网管理系统app接了vpn转到了外网服务器上。
2017-10-26
之前一直想着开个外网固定ip的出口的。
这次被迫实行了。
外网服务器做openvpn server
内网服务器作为openvpn client,固定ip
然后前端nginx直接转发。
网络 > v2ex,现在也就沦落成这样一个地方了,哪怕我最多是个乌鸦,也的确也没什么和猪一起在泥潭打滚的必要了。
2017-09-04
“我这个人,你可以讨厌我,你可以觉得实在是个没啥出息的玩意,真都很正常,但我至少光明磊落,至少我会为我说的话做的事情负责” 至少是这么觉得的。
今天处理完事情上线,发现一条提醒。
发现是很可笑的匿名贴。
无非是把一些我自己发布的信息集中一下,试图 SEO 一下我的公司,诸如我长得丑,我的女儿不一定是我亲生的之 类人身攻击一番。
看完之后,的确感想很多。
不是害怕,不是愤怒,而是失望,深深的失望。
曾几何时,我刚来 v2ex,可不是为了这里吹捧苹果,可不是为了这里觉得几万块的工资就能炫耀一下,可不是这里已有抱怨工作就让人走,可不是这里别人夫妻闹个别扭就让别人离婚。
因为这里还是有不少讨论很 COOl,记得当年讨论的至少还是技术合伙人之不是该有干股,讨论期权和股权是否还有意义。
其实大概两年前,我已经开始发帖说怀疑自己是否是已经不适合现在的 V2EX 了,从开始的激动不解。到现在的不屑。
最近呢?我都不记得今年看到过有啥让我眼前一亮的帖子过。
事实证明了一切。
我这一年左右在 V2EX 经了了哪些在其他地方没经历过的事情?
首先,是某人通过人肉到我,用网络电话试图匿名打电话给我,开口让我说一句上海话看看。
其次,是微信上某人加我,至少意思上说是感谢我在他回复里的支持。然后,过了几天,把我拉近一个各种嘲讽我 id 的群。拉黑,关了微信的通过 ID 寻找。
第三,也就是这次的。公布我信息没什么,那一堆人身攻击真是呵呵了。
恩,在我这文章打了一半,密码被改了……无所谓了。
我觉得我完全对 V2EX 上的这群人失望了。
不想多说什么,你们赢了,当然,你们或许觉得是因为公布了我的信息我怕了?
其实这些信息都很公开。
我叫徐佳麟,这个很容易查到。
我的手机可以通过 whois 我的博客地址找到,我没做过任何隐藏,至少也有人验证过。
我的照片可以通过我的博客上的 500px/图虫上找到。长得的确不怎么样,就不放出来吓人了。
我目前就职的信息也可以通过我的博客上很容易的找到。
我的 email 在我的 github 上可以找到。如果不愿意找,也很简单,jarlyyn qq.com
我女儿的照片在我做的简单页面 http://www.xuxinquan.com 上可以找到。
恩,其实,你们说的没错,我真的怕你们了。
我真的怕我的老婆,我的女儿,我的朋友问我居然玩这么个这么满是屌丝-----我真的觉得屌丝是一句最恶毒的话-----的地方混。
不光是物质上的屌丝,还是精神上的屌丝。
的确这个论坛上还是有一些比较出色的人的。至少我的关注列表也不是空空如也。
但对于我一个这么个死要面子的人来说,实在是不能忍受别人用那种很嫌弃的眼神看着我,问我怎么混这种地方。
你们赢了。你们靠自己的方式击败了我。不知道,你们是否满意,是否开心,是否得意?
愿 V2EX 越来越好,愿 V2EX 成为 livid 的骄傲,愿 V2EX 最终成为所有 v2er 的骄傲。
https://www.v2ex.com/t/387985
网络 > 天猫将放弃IE8
2016-12-06
前两天逛逼乎,发现这个帖子
https://zhuanlan.zhihu.com/p/24091492
不得不说,这是一个很有意义,但又听有魄力的举动。
根据百度流量统计院的数据,目前国内PC端的ie8甚至ie7都有不小的占有率。
以百度的数据来说,ie8及以下的浏览器应该还有大概20%左右的占有率。
这真心不是一个可以忽视的小数据。
网络 > 把jarlyyn.com买回来了
2016-01-13
如题,之前在namecheap的帐号找不回了,只能等过期。
另外,但是为啥用jarln.net而非jarlyyn.com做主域名呢…………
依稀记得是因为比较短?
自己都快hold不住自己了。
网络 > 用nginx+cookie防止简单的抓取/破解骚扰
2015-07-02
最近公司的能从外方访问测试服务器很不稳定。查看日志是有大量的访问日志,以及很多调用wp/dedecms/phpmyadmin默认登录的地址的'破解'访问。
决定家一个简单的过滤,最早准备用basic auth,但为了尽量不干扰 普通客户的访问,尝试用cookie解决。没有cookie的话显示一个通过js设定cookie的页面。有cookie的话显示正常页面。
首先自然是安装nginx,改端口,反代。
配置文件如下 :
server {
listen IP地址:80;
error_page 403 /403.html;
root /errmsg/;
location = /403.html
{
root /errmsg/;
allow all;
internal;
}
location / {
if ( $cookie_antiscanpassword != "password") {
return 403;
}
proxy_pass http://127.0.0.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location = /antiscanpassword/cookie.js {
alias /errmsg/antiscanpassword/cookie.js;
}
location ~*\.(jpg|png|jpeg|gif|js|css|flv|mp4|pdf)$ {
proxy_pass http://127.0.0.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
index index.html index.htm;
}
建立/errmsg/403.html.内容如下:
<html>
<head>
<script src='/antiscanpassword/cookie.js'></script>
<script>
var login=function(){
var date = new Date();
date.setYear(date.getYear()+1);
docCookies.setItem('antiscanpassword','password',Infinity,'/');
if (docCookies.getItem('antiscanpassword')=='password')
{
location.reload(true);
}
}
login();
</script>
</head>
<body>
</body>
</html>
建立 /antiscanpassword/cookie.js,内容见 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie
然后就可以测试了。
nginx里负责判断cookie值,页面负责赋值和刷新。
对各种静态文件不做判断,方便站外应用。
上了一套后感觉测试服务器的内存占用有显著改善。
可以通过curl进行测试。
这个无法防止各种基于浏览器模拟器的爬虫/恶意程序。
但对于普通骚扰还是能提升点难度的。
网络 > 使用TinyTinyRss服务器和PressApp打造自己的rss服务器。
2015-01-07
今天突发灵感,安装一个自己的RSS聚合服务器。
1.安装TinyTinyRss:
打开官网,下载安装包,创建mysql数据库,标准的php安装,没啥悬念。
安装好后使用admin/password 登录,设置密码和实际使用用户。
然后设置cron,一切轻松简单。
2.安装fever插件。
上GITHUB 下载最新安装包,解压,丢在plugins目录下。后台启用,设置独立米按摩。
3.安装PRESS。
上手机里的市场搜索吧,哪怕国行,应用宝也有。
4.设置。
添加fever帐号.
地址填写为 http://服务器地址/tt-rss/plugins/fever/
帐号为你的登录帐号
密码为fever帐号。
收工,享受吧。