摘要: 面向过程编程(Procedure Oriented): “面向过程”是一种以过程为中心的编程思想。简而言之,面向过程强调流程化,步骤化的思考方式。程序的执行方式也是自顶向下,依次执行 基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过 阅读全文
posted @ 2016-12-07 19:47 shangzekai 阅读(264) 评论(0) 推荐(0) 编辑
摘要: Nginx 优化 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.Nginx是由俄罗斯人 Igor Sysoev为俄罗斯访问量第二的 Rambler.ru站 阅读全文
posted @ 2016-10-06 12:40 shangzekai 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 1.首先先下载安装apache的日志轮询工具cronolog: cronolog日志轮询配置说明: 按天轮询(生产环境常见用法,推荐): 按小时轮询(生产环境常见的用法): 按周轮询(生产环境比较常用的方法): 阅读全文
posted @ 2016-09-07 15:41 shangzekai 阅读(853) 评论(0) 推荐(0) 编辑
摘要: IP(独立IP):指独立IP数,不同的IP地址的计算机访问网站的总次数,这个是网站流量分析的一个重要指标。00:00-24:00内相同的IP地址只被计算一次 假如说:赶集网的日独立IP300W,则至少有300w人来访问 所以说,独立IP数度量网站的访问量,不是很精确,因为国内的多数上网采用的都是na 阅读全文
posted @ 2016-09-06 12:06 shangzekai 阅读(1712) 评论(0) 推荐(0) 编辑
摘要: Log日志都是一个系统不可缺少的一个重要组成部分,通常是系统的运行记录。日志一般分为两大类型: 一、系统日志: 记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。系统日志包括系统日志、应用程序日志和安全日志。 二、网站日志: 记录web服务器接收处理请求以及运行时错误等各种原始信 阅读全文
posted @ 2016-09-01 10:03 shangzekai 阅读(5349) 评论(0) 推荐(1) 编辑
摘要: chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。 一般是三个数字: 第一个数字表示文件所有者的权限 第二个数字表示与文件所有者同属一个用户组的其他用户的权限 第三个数字表示其它用户组的权限。 权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读 阅读全文
posted @ 2016-08-30 17:35 shangzekai 阅读(67703) 评论(1) 推荐(7) 编辑
摘要: ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 登录的原理: 有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。首先以root账户登陆为例。 1.首先我们需要在A机器上生 阅读全文
posted @ 2016-08-30 12:10 shangzekai 阅读(2381) 评论(0) 推荐(0) 编辑
摘要: 背景知识ffmpeg是一款领先的流媒体处理框架,支持编码,解码,转码等功能并可以在linux, Mac OS X, Microsoft Windows编译运行,用它做播放器的有:ffplay,射手播放器,暴风影音,QQ影音,用它做转码的有:格式工厂,总之:ffmpeg功能十分强大。视音频编码技术基础 阅读全文
posted @ 2016-08-05 12:06 shangzekai 阅读(1307) 评论(0) 推荐(0) 编辑
摘要: 1,在某个路径下查文件。 在/etc下查找“*.log”的文件 find /etc -name “*.log” 2,扩展,列出某个路径下所有文件,包括子目录。 find /etc -name “*” 3,在某个路径下查找所有包含“hello abcserver”字符串的文件。 find /etc - 阅读全文
posted @ 2016-07-28 16:45 shangzekai 阅读(30241) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2016-04-12 18:59 shangzekai 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 序 大约是前年的时候,在公交站牌下,有个同事问我:“老哥,您搞开发有几年了?” “约五六年吧。”我说这些话时有些汗颜,一把年纪了,岁月催人老啊。 “怪不得经验丰富。”同事明显的恭维让人不太舒服。又接着问:“你打算还要再干几年啊?” 我明白他的意思,这与程序员圈子里盛传的“30岁问题”有关,这个问题, 阅读全文
posted @ 2016-04-06 18:54 shangzekai 阅读(514) 评论(1) 推荐(1) 编辑
摘要: 直接上代码: 首先需要明确的是,客户端向服务端去发送消息,服务端只需要订阅是哪些各频道即可,然后客户端向这些个频道发送消息 在客户端的代码: 1 #!/usr/bin/env python 2 #coding:utf-8 3 4 import redis 5 6 rc = redis.Redis(h 阅读全文
posted @ 2016-02-26 16:52 shangzekai 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 安装redis 把redis安装到 /opt/redis-2.8目录中 wget http://download.redis.io/releases/redis-2.8.1.tar.gz tar -zxfx redis-2.8.1.tar.gz cd redis-2.8.1 make && make 阅读全文
posted @ 2016-02-26 16:10 shangzekai 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 1. Shellinabox介绍 Shellinabox 是一个利用 Ajax 技术构建的基于 Web 浏览器的远程终端模拟器,也就是说安装了该软件之后,服务器端不需要开启 ssh服务,通过 Web 浏览器就可以对远程主机进行操作,但是你的web浏览器需要支持AJAX/Javascript和CSS, 阅读全文
posted @ 2016-02-24 18:13 shangzekai 阅读(2385) 评论(0) 推荐(0) 编辑
摘要: 一、paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。由于使用的是python这样的能够跨平台运行的语言,所以所有python支持的平台,如Linux, Solaris, BSD, MacOS X, Wi 阅读全文
posted @ 2016-02-24 11:20 shangzekai 阅读(1208) 评论(0) 推荐(1) 编辑
摘要: 1:查看环境:[root@10-4-14-168 html]# cat /etc/redhat-releaseCentOS release 6.5 (Final)2:关掉防火墙[root@10-4-14-168 html]# chkconfig iptablesoff3:配置CentOS 6.0 第... 阅读全文
posted @ 2016-01-08 18:28 shangzekai 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 昨天见到张嘉佳,丫的第一句话就是:听说你最近很拼啊。我擦。这什么话。我不是一直都很拼吗。好吧,上大学和研究生的时候,我还是个混世魔王呐。那时的同学对我印象最深刻的就是,我成天旷课躺宿舍床上睡觉,要不然就是在电脑前打游戏(有段时间我超迷《星际争霸》)。研究生毕业那年,离婚又复婚、复婚了又要离婚的父母,... 阅读全文
posted @ 2015-12-21 10:20 shangzekai 阅读(260) 评论(0) 推荐(0) 编辑
摘要: PHP7是最新出来的一个新的PHP的一个版本,而且新增了一些新的版本特性,下面我们来介绍一下:1.速度上比HHVM会快一些,大概是PHP5版本的9倍左右,下面是做的一个实验: 1 紧接着再做下一个实验:1 $a = array();2 for($i=0;$i 若无强制类型的转换,会输入int(1)b... 阅读全文
posted @ 2015-12-14 17:04 shangzekai 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 最近要对视频进行上传,由于涉及到的视频非常的大,因此采用的是分片上传的格式,下面是一个简单的例子:split.php 1 join.php: 1 阅读全文
posted @ 2015-11-12 18:48 shangzekai 阅读(1897) 评论(1) 推荐(1) 编辑
摘要: 网上比较好的一篇文章:http://coolshell.cn/articles/1679.htmlhttp://coolshell.cn/articles/11312.html1、Vim安装NERDTree插件:先下载,官网:http://www.vim.org/scripts/script.php... 阅读全文
posted @ 2015-11-07 16:16 shangzekai 阅读(4067) 评论(0) 推荐(0) 编辑
摘要: 最近一直在使用cakephp这个框架学习,最近发现了一些问题,就是怎样将SQL语句打印出来进行调试,方法如下:1 $db=ConnectionManager::getDataSource('default');2 $db->showLog();可以举一个例子来进行说明:1 public functi... 阅读全文
posted @ 2015-11-06 11:03 shangzekai 阅读(1097) 评论(0) 推荐(0) 编辑
摘要: PHP 是最流行的用于 web 开发的脚本语言之一。PHP 的最新版本,PHP 7 在性能上做了很大的优化。不过,PHP 还有一个竞争对手 HHVM (HipHop Virtual Machine) — 一个运行 PHP 代码的虚拟工具。二者直接的比较正在升温,那么让我们来看一下他们直接的性能对比吧... 阅读全文
posted @ 2015-10-13 17:54 shangzekai 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 我们先来看一下redis的一个定义,来自官方的:1 Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since ke... 阅读全文
posted @ 2015-08-05 11:08 shangzekai 阅读(1205) 评论(0) 推荐(0) 编辑
摘要: 首先我们知道Memcached是一个分布式的缓存系统,但memcached并不像是mongodb那样,允许配置多个节点,且节点之间是自动分配数据的也就是说memcached节点之间,是互不相通信的,因此,memcached的分布式,要靠用户去设计算法,把数据分布在多个memcached节点中。我们来... 阅读全文
posted @ 2015-08-03 18:12 shangzekai 阅读(2859) 评论(0) 推荐(2) 编辑
摘要: 先看一下,什么叫做内存的碎片化:1 如果用c语言直接 malloc,free 来向操作系统申请和释放内存时,2 在不断的申请和释放过程中,形成了一些很小的内存片断,无法再利用.3 这种空闲,但无法利用内存的现象,---称为内存的碎片化.因此,为了解决这个内存碎片化带来的浪费,那MC采用的是slab ... 阅读全文
posted @ 2015-08-02 18:02 shangzekai 阅读(2499) 评论(0) 推荐(1) 编辑
摘要: Redis支持简单的事物,但是没有mysql的Innodb支持的那么的完善我们接下来看一下Redis和Mysql的事物的一个对比:MySQLRedis开启start transactionmulti语句普通的SQL普通的命令失败rollback 回滚discard 取消成功commitexec注:在... 阅读全文
posted @ 2015-07-31 15:53 shangzekai 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 最近有一个测试任务,是测试nginx的并发请求到底能够达到多少的,于是就用ab工具对其进行压力测试。这压力测试一执行,问题就来了:发起10000次请求,并发100,错误的情况能达到30%--50%了!不应该有这么多啊?哪儿出问题了?于是就用loadrunner和jemeter做了同样的测试,失败率为... 阅读全文
posted @ 2015-07-31 09:20 shangzekai 阅读(2000) 评论(0) 推荐(0) 编辑
摘要: redis的持久化配置:主要包括两种方式:1.快照 2 日志来看一下redis的rdb的配置选项和它的工作原理: 1 save 900 1 // 表示的是900s内,有1条写入,则产生快照 2 save 300 1000 // 表示的是300s内,有1000次的写入,则产生快照 3 save 60 ... 阅读全文
posted @ 2015-07-30 18:02 shangzekai 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 我们来看一下图,下面的这张图清晰的表明了nginx优化的一些方法:nginx要响应请求的话,必须要:1.要建立socket连接2.是要读本地的文件所以这就是我们的一个优化的方向:所以参考照上面的优化思路,我们可以更改上面的系统级别的参数,从而进行调优:1 echo 50000 > /proc/sys... 阅读全文
posted @ 2015-07-30 16:35 shangzekai 阅读(1141) 评论(0) 推荐(0) 编辑
摘要: 对于高性能网站的架设,主要就是请求量大,那我们该如何进行支撑?考虑到下面的几个方面:1.要减少请求,那对于开发人员来说,网站的css文件进行合并,背景图片也要合并,一般都是请求一张比较大的图片,然后在进行分割,然后就是减少mysql的查询。2.对于前端的nginx,我们使用nginx的expire参... 阅读全文
posted @ 2015-07-30 13:58 shangzekai 阅读(617) 评论(0) 推荐(0) 编辑
摘要: 之前一直觉的nginx的反向代理和负载均衡很厉害的样子,最近有机会接触了一下公司的这方面的技术,发现技术就是一张窗户纸呀,捅破了啥都明白了!接下来先看一下nginx的反向代理:简单的来说就是nginx不去自己处理php相关的请求,而是将php的相关的请求转发给apache来进行处理。上面就是一个比较... 阅读全文
posted @ 2015-07-29 17:17 shangzekai 阅读(4967) 评论(0) 推荐(0) 编辑
摘要: 管理mysql最让人困扰的就是如何有效的掌握 MySQL 的健康状况,因为 MySQL 虽然有提供许多系统变量值供您参考,但这些零散的数据若要手动搜集与过滤将会是一件十分没有效率的事情(除非您写 Scripts 去分析)。而接下来要介绍的这套 “工具” 其实是由 hackmysql.com 的站长所... 阅读全文
posted @ 2015-07-24 10:38 shangzekai 阅读(3575) 评论(0) 推荐(0) 编辑
摘要: 1 调整MySQL运行参数,修改/etc/my.cnf文件调整mysql运行参数重启MySQL后生效,在MySQL4版本以后,一部分内部变量可以在MySQL运行时设置,不过重启MySQL就失效了。 2 mysqld程序--目录和文件 3 basedir = path ... 阅读全文
posted @ 2015-07-23 17:56 shangzekai 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 一.看下常用的MySQL的高可用方案:对上图的说明:1)HeartBeat通过串口线或者以太网网线直连网卡对对端的服务做健康检查,并负责执行Drbd,MySQL,vip等资源的自动切换。2)data-1-2作为data-1-1高可用的热本分,正常情况下data-1-1提供一个分区sdb1给MySQL... 阅读全文
posted @ 2015-07-22 17:45 shangzekai 阅读(448) 评论(0) 推荐(0) 编辑
摘要: 这个案例是最近写一些前端展示的案例出现的一个问题,特此记录,使用ajax的一些方法和使用的技巧: 1 $.ajax({ 2 url:"", 3 type:"post", 4 data:{"xx":"xx"}, 5 beforeSend:function(){ 6 ... 阅读全文
posted @ 2015-07-19 10:28 shangzekai 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 记得在以前找工作的时候,可多次被问到如果客户端被禁用cookie,session还能使用吗?今天终于找到了相关的答案:我们来看一下:session是在服务器段保持会话数据的一种方法,对应的cookie是在客户端保存用户的数据,http协议是一种无状态的协议,服务器响应完之后就失去了与浏览器的联系,最... 阅读全文
posted @ 2015-07-17 17:32 shangzekai 阅读(799) 评论(0) 推荐(0) 编辑
摘要: 主要三个重要的文件:ha.cf, authkey, haresource1)ha.cf的重要参数的说明:参数说明debugfile /var/log/ha-debug heartbeat的调试日志存放的位置logfile /var/log/ha-logheartbeat的日志存放位置logfac... 阅读全文
posted @ 2015-07-16 11:30 shangzekai 阅读(689) 评论(0) 推荐(0) 编辑
摘要: 1.索引类型: 1.1B-tree索引: 注:名叫btree索引,大的方面看,都用的是平衡树,但具体的实现上,各引擎稍有不同,比如,严格的说,NDB引擎,使用的是T-tree,但是在MyISAM,Innodb中,默认的使用的是B-tree索引 但我们抽象一下---B-tree系统,可以理解成为“排好... 阅读全文
posted @ 2015-07-10 10:06 shangzekai 阅读(5252) 评论(0) 推荐(0) 编辑
摘要: 一. select 模型(apache的常用)1. 最大并发数限制,因为一个进程所打开的 FD (文件描述符)是有限制的,由 FD_SETSIZE 设置,默认值是 1024/2048 ,因此 Select 模型的最大并发数就被相应限制了。自己改改这个 FD_SETSIZE ?想法虽好,可是先看看下面... 阅读全文
posted @ 2015-07-07 09:48 shangzekai 阅读(1590) 评论(0) 推荐(0) 编辑
摘要: 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本的主从,本博文属于总结性的,有一部分是摘自网络,大部分是根据自己管理的心得和经验所写,整理了一下,分享给各位同行,希望对大家有帮助,互相交流。一、mysql主从的原理1、Replication 线程Mysql的 Repl... 阅读全文
posted @ 2015-07-06 15:16 shangzekai 阅读(194) 评论(0) 推荐(0) 编辑