自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 收藏
  • 关注

原创 【Zanuck 镇】磨刀不误开柴工,windows下加快工作效率的神器级软件【银行向推荐+实时更新】

小镇我来到银行已经1年多了,大部分的时间都在写报告、录财务报表和跑客户。说实话那是枯燥乏味,缺乏时间学习和娱乐,不益身心健康。既然没办法减轻工作负担,那只能加快工作效率,写报告的效率来自于对电脑的熟练运用,主要在于系统和软件运用的熟练度。不废话了,神器如下所示:1、AutoHotKey万事少不了AutoHotKey,快速输入,快速打开程序,快速打开网页,一切的一切都离不开AutoH...

2019-06-06 17:11:13 234

原创 【Zanuck 镇】GlusterFS集群一键启动脚本(Centos:shell)

昨天有位哥们儿看了我的文章后向我反应安装完毕服务器重启后gluster挂载不了的问题,我帮他解决后写了个多机启动的脚本。(脚本是刚需,一般gluster集群在10台以上,如果给你1000台服务器,整体断电后重启,还要一个一个ssh上去启动?)首先,小镇在这里说明下gluster+zfs的启动挂载的先后顺序,要保证glusterfs能识别到zfs的存储池必须要先将zpool import,而且小

2017-05-11 10:55:11 835

原创 【Zanuck 镇】个人及企业数据可扩展存储方案(开源:glusterfs+zfs+centos)

小镇最近在研究存储方案,实乃刚需,至于为什么,请看下图:小镇玩遍了各种存储方案,包括硬件raid、centos+zfs 、solaris 、windows存储池 、群晖 、freenas、nas4free、glusterfs、hdfs,最后还是选择了万由nas+win10+单盘+goodsync备份,当时天真的我以为8tb的单盘一辈子都用不完。至于当时为何选择看上去如此low的方案?因

2017-05-10 18:32:35 1155

原创 【Zanuck 镇】lnmp单机环境最佳性能优化

lnmp环境,站长们最熟悉了。(Linux+Nginx+Mysql+PHP)抛弃了笨重的apache和windows,lnmp在虚拟云主机上大放异彩。废话不多说,正文开始。整体环境的性能优化要从各个细小的方面入手,我们将按照硬件、Linux、Mysql、Nginx、PHP的顺序来依次进行细小的性能优化测试。一、硬件既然是单机环境,那需求就不是非常的明确,但是以小镇的经验来看

2016-12-02 15:29:59 823

原创 【Zanuck 镇】WordPress页面静态化

我对wordpress的赞美真的可以说是词穷了。wordpress做为世界上最流行的php博客平台,不管是从界面还是功能上来说,都做到了非常完美的境界。可以说一般的cms根本就不能和wordpress相媲美。(wordpress因为有了插件的存在,很多的功能可以说是完爆cms。而且wordpress的界面主题十分的丰富,关键其软件生态环境非常的好,有很多的人在帮忙维护和开发)。现在

2016-10-30 09:56:53 13403

原创 【Zanuck 镇】php主流新闻网站高并发爬虫

先贴上github地址 https://github.com/ztyzly00/search总体思想还是比较简单的,利用redis去重和php多进程的编程,精华在spider_start.php和HrefSearcher.php中。多进程直接的变量的协调也是利用了redis。过滤规则记录在mysql中,在DB.sql文件中,随便到一个数据库中执行一下就行了。mysql的连接

2016-10-22 11:30:26 1186

原创 【Zanuck 镇】编写php高性能snowflake算法插件(分布式64位唯一性自增id生成算法)

snowflake算法是个啥?首先我来提出个问题,怎么在分布式系统中生成唯一性id并保持该id大致自增?在twitter中这是最重要的业务场景,于是twitter推出了一种snowflake算法。参考地址:https://github.com/twitter/snowflake小镇为什么想要写这么个算法呢,因为开发环境是php并且需要生成唯一性自增id,因为业务逻辑的原因不能通过获取mysql

2016-09-01 11:21:58 5021 3

原创 【小镇的技术天梯】lanmp服务器集群搭建(6)rsync+inotify同步主备nfs

在一开始小镇提到了,服务器集群最主要的一点就是在不断电的情况下,任何一台服务器崩溃都不会影响整个集群的运作。这下就差nfs服务器的双机热备了,nfs的双机热备需要保持两台机器里面的内容完全的同步,这需要依靠linux文件系统变化通知机制-inotify和备份软件rsync。在centos7.2中是自带rsync的。首先在master节点上后台运行rsync,输入 rsync --daemon

2016-04-18 18:28:29 684

原创 【小镇的技术天梯】lanmp服务器集群搭建(5)haproxy给mysql节点负载均衡

这个章节最简单。因为软件设计的好,恩。距离上次搭建完mysql集群已经是过了很长时间了。小镇最近的项目非常的多,所以不太有时间写接下来的文章。最近把这个服务器集群搭建的坑填完。上篇文章中讲了,搭建mysql集群需要最好5个节点,其中有两个是对外服务的mysql节点。这两个mysql节点每个节点都有对外单独提供服务的能力并且数据共享,所以我们要用一款负载均衡软件来负载着两个节点。服务

2016-04-18 16:45:01 489

原创 【小镇的技术天梯】lanmp服务器集群搭建(4)mysql-cluster集群搭建

lanmp集群搭建的重点来了,这次是搭建mysql集群,mysql集群可以说是重中之重,因为最需要用集群的地方是mysql,现在的web应用的瓶颈基本上都在mysql的负载上面。【小镇还是要提醒下大家,其实提升mysql性能的最好方法是写性能高的mysql语句和加装ssd固态硬盘】。下面大家来看下mysql集群的结构图,如下图所示:从结构图可以看出,mysql集群分为三个部分。对外

2016-04-10 13:35:45 973

原创 【小镇的技术天梯】lanmp服务器集群搭建(3)使用keepalived给nginx双机热备

小镇再上一遍服务器的架构图,服务器集群的冗余和热备规则就是在有ups,没有发生火灾地震的情况下,应该是保证web应用永不下线,要保证web应用永不下线,就是任何一台服务器宕机的情况下,整个服务器集群的工作都不会受到影响,架构图如下图所示:可以看出,如果apache的服务器坏掉一台,那么流量就会分到别的apache的服务器上面去,如果nginx的服务器坏掉了,那么nginx的backup

2016-04-07 10:50:23 532

原创 【小镇的技术天梯】lanmp服务器集群搭建(2)nfs文件共享

在上一篇的文章中小镇解决了lanmp最基本的问题,流量分摊和负载均衡。在这章,小镇将说明服务器集群中的一个重要的点,那就是文件的共享。首先先看小镇画的lanmp的服务器简易的架构图,如下图所示:大家可以看到192.168.1.200为nfs存储器,为什么要用nfs文件共享呢?因为文件共享是保持各台服务器文件同步最好的方法,还有一种使用rsync来双向的保持同步,但是那样对服务器的负

2016-04-07 09:05:34 492

原创 【小镇的技术天梯】lanmp服务器集群搭建(1)nginx的反向代理

小镇为了研究这个lanmp服务器集群的搭建拖沓了一个星期,难度到没什么,但是硬件的条件非常麻烦。电脑上跑了n个虚拟机,小镇今天换了一块480g的ssd终于是把几个虚拟机顺畅的跑起来了。公司的服务器如果有条件的话我想弄个服务器集群,不过那些烂摊子后台应用实在太难重新部署了。。。先给大家普及一下lanmp是个什么东西,l代表的是linux系统,a代表的是apache web服务器,n代表的是ngi

2016-04-05 21:11:00 778

原创 【小镇的技术天梯】使用docker部署服务器

【小镇看过一篇文章,说的是程序猿的鄙视链,在服务器维护和部署这块,站在鄙视链最顶端的是使用docker部署服务器的,在鄙视链最低端的是手动ssh的,而当时小镇就是属于那种手动ssh的维护人员,免不了一阵自卑。于是决定开始使用docker来部署服务器】

2016-03-29 20:14:30 953

原创 【小镇的技术天梯】排序二叉树

【这段代码真的好繁琐,小镇写的脑袋爆炸,也看了不少的资料。。。很多代码也是借阅的别人,排序二叉树不难,但是删除节点的方面比较复杂,有多种的情况要考虑】【小镇不高兴写关于介绍二叉树方面的知识了,太烦了,又没有技术含量,贴个代码监督自己完事儿】/* 排序二叉树 *//* * author:镇天宇 */#include #include #include typedef

2016-03-25 09:35:33 286

原创 【小镇的技术天梯】C语言,冒泡、快速、希尔、选择排序

【数组的排序同样是基础中的基础,相信你们用习惯了list.sort()之类的类库自带函数连一些最基本的算法基础都不会了,下面小镇带来最基本的四个排序。】冒泡、选择排序是最为基础的排序。冒泡是每次比较相邻的项,然后

2016-03-22 14:59:07 361

原创 【小镇的技术天梯】从头开始写算法,C语言hash表

【有时候数据结构和算法这种东西就是在时间和空间之间权衡,比如说当你想要维护一个自平衡的二叉树的时候就需要一个额外的指针,当你想要排序的时候,需要一个或者多个额外的空间来存储临时产生的数据一样。】hash表,有时候也被称为散列表,可以理解成数据和hash表中整理的数据的多对一的关系,散列的规则可以自己随意定制,但是最佳的散列规则应该保证每个散列出来的数据组中的个数都应该存有差不多数量的数据。比如

2016-03-22 08:47:48 588

转载 【小镇的技术天梯】计算机实际上是如何工作的(偏物理层面)

原文地址:http://www.simplecpu.com/Binary.html了解了解挺有意思的,哈哈哈哈。这篇文章基本上是计算机原理的最底层了,不过抽象了点物理方面的电学知识。二进制让我们马上进入数据的梦幻王国。五的符号是什么?5十的符号是什么?10等等,这不是符号“1和0”吗?是的,在我们的编码系统中,当我们要表示”十”的时候,我们会写1和0

2016-03-21 16:53:02 517

原创 【小镇的技术天梯】从头写数据结构,C语言实现双向链表

【你们一定从心底里开始鄙视小镇,竟然还用C语言写这些无聊基础的东西,但是我只能说,其实你们摸摸自己的心,用惯了各种语言各种类库里的各种数据结构,你们还对这些操作数据的方法有印象吗?你们有真的想过list.add()这个简单的东西还是会用到相对复杂的实现么?】【你们真的以为动态数组就是天生存在的嘛?你们真的以为会写点业务逻辑就是程序猿了么?你们真的以为面向对象就是一切么?你们真的以为框架能实现一

2016-03-21 15:37:27 791

原创 【小镇的技术天梯】Fast-CGI和php-fpm之间的关系

【小镇最近被类似的问题搞得有点晕。老实说这种东西就算了解了对你的工作上的帮助基本上为0,不过不了解有点妄称程序猿,特别是用php的程序猿】今天我们就来详细的了解下其中的原理。相信作为网络的运维人员,我们有时候会遇到网站卡死的问题,一般来说重启下php就行了,也就是输入类似于这种命令 php-fpm restart,也许大家只是这么记住了这么一个命令,但却根本不了解这个所谓的php-fpm是

2016-03-17 15:08:01 788

原创 【小镇的技术天梯】渗透测试工具(1)dmitry

【来填网络安全的坑,一步一步来,vmware貌似也没啥学的哈哈,遇到了难题就来分享】【今天学习dmitry,就是个小工具,用来收集信息的】DMitry(Deepmagic Information Gathering Tool)是一个一体化的信息收集工具。它可以用来收集以下信息:1. 端口扫描2. whois主机IP和域名信息3. 从Netcraft.com获取主机信息4

2016-03-10 08:39:10 374

转载 【小镇的技术天梯】理解VMware WorkStation的虚拟网络

我朋友说我学的东西有点杂,其实,对于这一点我一直是很纠结的。我已经纠结一年了!因为工作性质的问题,业务量不够大,技术更是无需跟进。但技术是自己的,终究还是要提升的,于是小镇开始漫无目的的学习各种各样奇葩的技术,实际上对于具有开发业务能力的技术了解也不是非常的透彻,于是小镇这次算是进行了一次深度的思考,做出了以下决定。从自身工作性质分析作为运维人员,需要对新技术、新软件和各式各样的系统具

2016-03-08 10:31:27 367

转载 【小镇的技术天梯】cpu的基本原理

其实像小镇这样的偏上层的开发人员来说是没有必要了解这些底层原理的,除非是硬件驱动的开发工程师。但是底层的知识就是内功,在无形中影响着我们对计算机的理解。我们都知道CPU的根本任务就是执行指令,对计算机来说最终都是一串由“0”和“1”组成的序列。CPU从逻辑上可以划分成3个模块,分别是控制单元、运算单元和存储单元,这三部分由cpu内部总线链接起来,如下所示:控制单元:控制单元是整个C

2016-03-05 16:49:31 425

原创 【小镇的技术天梯】php smarty模板的安装与使用(一)

小镇两天没有更新内容,因为最近手上有个手机网站的活儿在做。该项目的量还算在中等偏上,而且后台数据库有三个之多,分别在三个不同的服务器上面,实在是令人烦躁和畏惧。在初步写完了网站的代码之后,小镇实在是不忍心再看自己的代码,犹如一堆牛屎上又添了点狗屎,最后放点花生酱,让客户只能看到花生蛋糕的表面一样。文件结构请大家过目。也算是进行了一部分的model和view的分离吧,php文件内部请

2016-03-04 10:50:10 385

原创 【小镇的技术天梯】黑客技术(1) MITM-中间人攻击

【最近小镇除了在研究mysql的性能优化还在研究一些网络安全方面的知识,今天在android上面看到一款很不错的软件,叫Zanti,推荐大家装一下,装了这个软件之后,你可以劫持跟你在一个局域网下面的用户发送的数据,今天我就用zanti看到了一个妹子聊天发送的一些图片和信息,甚至你还可以更改她所上网页的内容,真是非常的另人“激动”啊,那么,今天我们就来学习该劫持信息的方法和原理并用kali linu

2016-03-01 18:16:17 1087

转载 【小镇的技术天梯】mysql explain性能分析中的type

小镇最近总是遇到mysql性能低下的问题,而且非常的难解决,一眼是看不出原因的那种,虽然像我们这种新闻网站的页面可以轻松的用页面静态化的方法来解决,但是小镇还是想知道为什么mysql的性能会非常的低下,所以小镇决定来好好研究下mysql的explain性能分析,这次我们来熟悉下explain中的type列的作用。type这列非常的重要,其显示了链接使用了哪种类别,有无使用索引,从最好到最差的链

2016-03-01 08:40:41 688

原创 【小镇的技术天梯】strace之HelloWold

哈哈哈,看到标题是不是以为strace是编程语言呢?不是啦,小镇为了学习strace足足准备了一个多星期,而这次终于是吧strace的文章放了出来,哎,怎么说呢,strace出来的还是有相当多的函数看不太懂,不过这次咱这次就来个strace的入门,简称strace之helloworld。strace是一个有用的小工具 – 大多数Linux系统默认已经安装 – 可以通过跟踪系统调用来让你知道一个

2016-02-28 15:09:44 506

原创 【小镇的技术天梯】刷票与防刷票的思考

【小镇最近做的感动南通的投票活动目前有大概40w左右的投票记录,小镇通过筛选和排查,发现3000多条有刷票嫌疑的记录,虽然说这些记录对于总的投票活动来说基本上是九牛一毛,但是这触及了程序猿的底线,你能刷票,就证明我的代码有问题,小镇必须排查和完善】【虽然说通过验证码机制可以很好的防止刷票,但是如果有了验证码,谁还愿意投票?本来点一下就可以投票的事情硬要输入无聊的4个字符实乃是丢失参与度的最好方

2016-02-28 09:35:29 730

翻译 【小镇的技术天梯】Linux内核学习,物理内存

【上次小镇是学习过了Linux的虚拟内存和物理内存的,但是只是着重的讲了虚拟内存的相关知识,物理内存的知识我们今天来详细的探讨一下~讨论的环境都是32位的系统】在内核态申请内存比在用户态申请内存要更为直接,它没有采用用户态那种延迟分配内存技术。内核认为一旦有内核函数申请内存,那么就必须立刻满足该申请内存的请求,并且这个请求一定是正确合理的。相反,对于用户态申请内存的请求,内核总是尽量延后分配物

2016-02-27 17:41:40 397

转载 【小镇的技术天梯】MySQL 查询缓存

【如果你想真正的提升mysql的效率,除了在代码层面,还需要在硬件方面得以提升,现在web应用的性能瓶颈基本上都在数据库的io性能方面,如果能够给服务器加装ssd硬盘的话,那么提升的将不是一个等级的速度!】Mysql存在着查询缓存机制,大家要明白,计算机有着硬件存储金字塔,cpu的速度远远大于硬盘的速度,为了让整体的性能不下降,中间加入了很多的缓存硬件,从L1,L2,L3缓存到内存再到硬盘再到

2016-02-27 12:14:16 338

原创 【小镇的技术天梯】微信投票实战,利用Redis存储session性能优化。

【为什么要用Redis?Redis快啊!而且Redis适合存储session这种不重要的信息,服务器断电session消失了就消失了】【大家好,小镇又来了,自从上次解决了投票人数过多导致渣渣服务器卡死问题之后,小镇就一直在用浏览器F12 Network查看各种可以优化速度的方法】【小镇优化的页面是点击进去后的页面,第一个页面图太多速度慢也没有办法,不过下次可以用Jquery的lazyloa

2016-02-26 11:01:57 1413

转载 【小镇的技术天梯】Linux Proc 文件系统

【小镇转载的,也没什么难度,但是是Linux的基础,所以大家要耐着性子看完】我们这次讨论的是在intel x86架构上的proc文件系统/proc --- 一个虚拟文件系统/proc 文件系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on th

2016-02-25 10:52:31 297

原创 【小镇的技术天梯】Linux shell的标准输入、输出和错误

【小镇在有一篇文章里面介绍了Linux的文件描述符,在这里巩固一下文件描述符中的0、1、2】在Unix/Linux/BSD中有三个特别的文件,分别是1)标准输入 即 STDIN , 在 /dev/stdin ,一般指键盘输入, shell里代号是 0。2) 标准输出 STDOUT, 在 /dev/stdout, 一般指终端(terminal), 就是显示器, shell里代号是 1。

2016-02-25 10:28:03 450

转载 【小镇的技术天梯】mprotect: 设置内存访问权限

【小镇直接转载,如果大家看过前几篇文章的话,这篇文章是毫无难度的,但也算是个知识点吧】mmap 的第三个参数指定对内存区域的保护,由标记读、写、执行权限的 PROT_READ、PROT_WRITE 和 PROT_EXEC 按位与操作获得,或者是限制没有访问权限的 PROT_NONE。如果程序尝试在不允许这些权限的本地内存上操作,它将被 SIGSEGV 信号(Segmentation fau

2016-02-24 15:56:42 400

原创 【小镇的技术天梯】教你做黑客!LD_PRELOAD环境变量!

小镇今天要带大家来当一把黑客!告诉大家如何通过修改LD_PRELOAD变量来攻击服务器的。【友情提醒:只是模拟一下而已,实际难度要大很多】

2016-02-24 11:13:54 521

原创 【小镇的技术天梯】Linux下安装phpmyadmin

小镇也是有苦衷的,在家里总是挂不上vpn怎么办,进入不了单位的内网,怎么操作数据库!有办法啊,通过php来操作呗~隆重推荐phpmyadmin

2016-02-23 14:53:26 343

原创 【小镇的技术天梯】小镇的实战!mysql性能优化。

小镇最近做了个微信投票的活动,按照以往的惯性思维,小镇就随便写写代码上线运行了。当然在最初的一两天里面,小镇的代码出了点逻辑bug(程序猿的日常),自己不停的测试修改,三天后也进入平稳运行的阶段。写的代码无人问津是我们这种单位的家常便饭,所以很多的高并发性才会产生的问题小镇从来都是不考虑的。然而。。。似乎大家对感动XX人物这种东东比较感兴趣(小镇做的项目叫感动南通人物投票评选)在一个星

2016-02-23 10:19:24 436

转载 【小镇的技术天梯】Linux fstat函数

【这篇文章直接转载的,没有什么难点,就是数据结构里面的量比较大,大家也没有必要看,理解就行啦】相关函数:stat, lstat, chmod, chown, readlink, utime头文件:#include   #include 定义函数:int fstat(int fildes, struct stat *buf);函数说明:fstat()

2016-02-22 16:58:48 606

翻译 【小镇的技术天梯】Linux mmap详解

一. mmap系统调用1. mmap系统调用    mmap将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是所有页的大小之和,最后一个页不被使用的空间将会清零。munmap执行相反的操作,删除特定地址区域的对象映射。当使用mmap映射文件到进程后,就可以直接操作这段虚拟地址进行文件的读写等操作,不必再调用read,write等系统调用.但需注意,直接对该段

2016-02-22 15:12:24 676

翻译 【小镇的技术天梯】vma的基本操作

小镇有一篇博文说了关于linux虚拟内存和物理内存的知识,那篇的知识太浅了,这篇再稍微深入一点。在32位的系统上,线性地址空间可达到4GB,这4GB一般按照3:1的比例进行分配,也就是说用户进程享有前3GB线性地址空间,而内核独享最后1GB线性地址空间。由于虚拟内存的引入,每个进程都可拥有3GB的虚拟内存,并且用户进程之间的地址空间是互不可见、互不影响的,也就是说即使两个进程对同一个地址进行操

2016-02-22 09:09:00 561

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除