博客升级了配置,主要涉及到LNMP源码编译安装,用的都是目前最新的稳定版,用一个系列记录下来。
各组件的版本如下:
CentOS-7.4 + Nginx-1.14.0 + MySQL-8.0.11 + PHP-7.2.8
计划用接下来四篇文章依次描述:
一、Nginx-1.14.0源码编译安装
二、MySQL-8.0.11源码编译安装
三、PHP-7.2.8源码编译安装
四、Nginx + PHP-FPM配置
博客升级了配置,主要涉及到LNMP源码编译安装,用的都是目前最新的稳定版,用一个系列记录下来。
各组件的版本如下:
CentOS-7.4 + Nginx-1.14.0 + MySQL-8.0.11 + PHP-7.2.8
计划用接下来四篇文章依次描述:
一、Nginx-1.14.0源码编译安装
二、MySQL-8.0.11源码编译安装
三、PHP-7.2.8源码编译安装
四、Nginx + PHP-FPM配置
近期把PHP升级到了最新稳定版本7.2.8。访问博客首页提示了两个Deprecated错误, 关于函数create_function()和__autoload(),错误信息以及对应的代码如下
继续阅读
类似搭建VPN的教程网上很多,其实特别不愿意记录一些重复的东西在互联网上。之前收藏的一篇相关的教程,很好用,过去的两年几次搭建VPN都是参考的这个,今天打开404了,然后又搜索了一番才搞定,特意记录下来。
一、服务端安装配置shadowsocks
0、下载执行安装脚本。登陆到自己的VPS或者云服务器上分别执行下面3条命令
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh chmod +x shadowsocks.sh ./shadowsocks.sh 2>&1 | tee shadowsocks.log
对投票数据统计的时候发现了Redis Hash类型的一个大坑,单个key中field过多,导致取不出来。特记录下尝试解决和探索的过程。
第一阶段:问题描述
一个投票类的产品,对单个选项mid投票成功后,记录了总票数,还记录了用户投票日志(可以理解成投票明细),用的都是Redis Hash类型来存储。投票日志的存储格式如下:
$redis->hset('vote_log', 'uid|mid|timestamp', 1);
最近,运营需要统计固定时间段每个选项投票的用户数,要的比较急,就很快写了一个脚本
算法:
继续阅读
从“晓说”,到“晓松奇谈”,再到“矮大紧指北”;从大四,到工作两年,再到工作五年。从在北京没有窗户的隔断到带阳台和卫生间的卧室。
每个周六不听听高老师的声音,似乎都觉得生活缺少了点什么。而“矮大紧指北”的出现,似乎每天都有意无意的听到高老师的声音。
结束了一天的工作,夜幕下,骑着自行车,周围车水马龙,耳机里习惯性的想起高老师的指北,差不多听完的时候也就到家了,那种幸福,简直是一天的发光时刻。
继续阅读
好久没有关心博客了,今天发现用的还是这种带问号的地址(http://niliu.me/?p=200)。之前也就是知道这种地址对SEO不友好,今天查了一些资料对比了下,所谓的不友好是指搜索引擎会对这种网址降权,因为这种地址参数变(参数可以随便加),而内容不变。
我们当然希望我们的文章可以被更多的人通过搜索引擎查询到,那就需要重写这个地址,一般使用WEB服务器提供的rewrite模块就可以了(比如Nginx的ngx_http_rewrite_module),通过修改配置文件,增加规则,重新映射地址, Nginx的rewrite语法如下:
上篇文章《用户互动数据排序中数据归一化的必要性探讨》的结尾提到归一化后的数据存储到Redis sorted sets中是否对数据读写有影响,查了相关资料,推导的结论是没有影响。
这里简化描述问题,用Redis实现投票排行榜TOP3,Option1票数100,Option2票数100000,Option3票数10000000
zadd vote_rank 100 'Option1' 100000 'Option2' 10000000 'Option3'
对数据min-max归一化处理后得到数据分别是0, 0.0099901, 1
最近在工作中看到了基于用户互动数据排序的两种实现思路,一种是“分权加和”,直接根据权重来计算数值,另一种在第一种的基础上对数据做了归一化处理。当然两种方式都是没问题的,毕竟都经过线上的验证。
做了归一化处理,看似更科学、更严谨,既然不做也可以,那么归一化处理到底有没有好处,是不是有必要呢?
下面首先具体展开描述下两种方式,给有需要的读者一个参考。
这是之前在CSDN上的一些记录,点击进入