自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用杂记

1、cmd 查看网络端口:netstat -ano      第一列是协议、第二列是内部地址、第三列是外部地址、第四列是状态、第五列是PID     查看特定的网络端口:netstat -ano | findstr "端口号" 2、cmd根据pid查看具体的程序: tasklist | findstr "PID" 3、Apache的ab压力测试样例:ab -c 10...

2017-11-03 10:00:01 197

原创 nginx安装第三方模块

如何安装nginx第三方模块(已经安装nginx和未安装nginx的2种情况)举例说明:安装第三方的ngx_cache_purge模块(用于清除指定URL的缓存),nginx安装目录假设在/usr/local/nginx下载解压:wget http://labs.frickle.com/files/ngx_cache_purge-2.0.tar.gztar -zxvf ngx_c...

2016-05-26 22:46:59 200

原创 php执行流程相关

通常,解释型语言使用前被编译为字节码,虚拟机动态执行字节码。为了提高性能,虚拟机执行代码时,可以利用 JIT 技术来动态的把字节码翻译成机器码。因为字节码它不可能脱离虚拟机运行,因此它依旧是解释型语言。简而言之,编译型语言的编译(编译到机器码)发生在运行之前,解释型语言的编译发生在每一次运行时。 PHP是解释型语言,将PHP代码解释为opcode之后再交由Zend引擎执行。...

2016-03-23 18:58:10 146

原创 php的异步非阻塞开发

同步、异步阻塞、非阻塞多进程、多线程(php是多进程单线程) 同步:在发出一个功能调用时,在没有得到结果之前,该调用就不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事异步:当一个异步过程调用发出后,调用者不能立刻得到结果,实际处理这个调用的请求在完成后,通过状态、通知和回调来通知调用者。阻塞:指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个...

2016-03-23 18:57:05 157

原创 php小分点

1. 变量函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找 与变量的值相同的函数,并且将尝试执行它。除了别的事情以外,这个可以被 用于实现回调函数,函数表等等。 class Foo{    function Var()    {$name = 'Bar';$this->$name(); // This calls the Bar(

2016-02-28 23:54:24 269

原创 使用杂记

1、cmd 查看网络端口:netstat -ano      第一列是协议、第二列是内部地址、第三列是外部地址、第四列是状态、第五列是PID     查看特定的网络端口:netstat -ano | findstr "端口号" 2、cmd根据pid查看具体的程序: tasklist | findstr "PID" 3、Apache的ab压力测试样例:

2016-02-28 23:53:50 267

原创 php执行流程相关

通常,解释型语言使用前被编译为字节码,虚拟机动态执行字节码。为了提高性能,虚拟机执行代码时,可以利用 JIT 技术来动态的把字节码翻译成机器码。因为字节码它不可能脱离虚拟机运行,因此它依旧是解释型语言。简而言之,编译型语言的编译(编译到机器码)发生在运行之前,解释型语言的编译发生在每一次运行时。 PHP是解释型语言,将PHP代码解释为opcode之后再交由Zend引

2016-02-28 23:53:03 270

原创 php的异步非阻塞开发

同步、异步阻塞、非阻塞多进程、多线程(php是多进程单线程) 同步:在发出一个功能调用时,在没有得到结果之前,该调用就不返回,也就是必须一件一件事做,等前一件做完了才能做下一件事异步:当一个异步过程调用发出后,调用者不能立刻得到结果,实际处理这个调用的请求在完成后,通过状态、通知和回调来通知调用者。阻塞:指调用结果返回之前,当前线程会被挂起(线程进入

2016-02-28 23:52:16 2652

原创 nginx 初识

SIGINT     终止进程     中断前台进程,只能结束前台的进程SIGKILL    终止进程     杀死前后台进程,立即强制结束程序的运行,本信号不能被阻塞, 处理和忽略SIGTERM    终止进程     软件终止信号,会被阻塞, 处理和忽略SIGWINCH   忽略进程SIGHUP     终止进程 1.快速停止nginxn

2016-02-28 23:43:08 265

原创 centos的nginx安装

首先nginx的安装需要依赖最基础的三个包,这里面我们不设计更多的扩展模块,只是安装最基础的三个包,pcre    此包主要是让nginx支持正则表达式与url重写功能,就连nginx的conf文件中都有正则表达式zlib    此包主要是对http内容进行gzip压缩,减少网络传输流量openssl 此包主要是nginx支持https的请求 pcre下载:

2016-02-27 14:48:56 214

原创 centos的nginx+https配置

1. 在已经安装了nginx下,通过/usr/local/nginx/sbin/nginx -V  来查看编译nginx时候的参数,看是否存在“ --with-http_ssl_module ”参数,该参数是启动nginx的ssl模块,如果不存在,就需要重新编译nginx了2.如果需要重新编译的话,新解压nginx安装包,进入nginx安装文件夹,复制上一步查看到的配置参数项,并且

2016-02-27 14:16:20 2861

原创 centos的PHP编译安装模块的基本步骤

服务器运行一段时间后,可能突然会需求添加某个扩展,如curl、pdo、xmlrpc等,这就需要在不重新编译PHP的情况下独立添加扩展。 下面以安装curl为例,介绍具体安装步骤。(以下的安装,是基于php源码包安装的,且安装路径是在/usr/local/php,Apache源码编译安装) 1.安装crul服务wget http://curl.haxx.se/

2016-02-27 12:30:22 1813

原创 nginx配置

配置项的格式:配置项名称 配置项值1 配置项值2 ···· ;配置名称必须是nginx中的某一个模块能够处理的,否则nginx会出现非法配置名的错误配置值中如果出现语法符号,例如空格、变量等,使用单引号或者双引号括起来 第一类:用于调试和定位问题的配置项1.daemon on|off 默认是on  是否以守护进程方式允许 2.mast

2016-02-27 12:28:01 482

原创 centos的mongodb安装和php扩展

 第一步:下载MongoDB安装包MongoDB的官网:http://www.mongodb.org 找到相应的版本下载。wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.4.tgz tar -zxvf mongodb-linux-x86_64-2.4.4 第二步: 安装准备我们把下载下载的压...

2015-11-12 17:15:30 106

原创 nginx中php-fpm的status查看

查看php-fpm的status说明:php-fpm和nginx一样内建了一个状态页,对于想了解php-fpm的状态以及监控php-fpm非常有帮助 第一步:开启php-fpm配置文件中的pm.status_path,默认是没有开启,去掉前面的;即可开启pm.status_path = /status 第二步:在nginx中需要查看php-fpm状态的server中添加...

2015-11-11 13:54:09 482

原创 nginx中php-fpm的多进程池

php-fpm多个进程池说明:每个池使用不同的配置,各个池之间互不干涉。默认情况下,PHP 只启用了一个池,所有请求均在这个池中执行。一旦某些请求出现拥堵之类的情况,那么很可能会连累整个池出现问题;如果启用多个池,那么可以把请求分门别类放到不同的池中执行,此时如果某些请求出现拥堵之类的情况,那么只会影响自己所在的池,从而控制故障的波及范围。设置多个进程池,每个进程池分配不同的站点,可...

2015-11-10 11:45:06 763

原创 nginx配置

配置项的格式:配置项名称 配置项值1 配置项值2 ···· ;配置名称必须是nginx中的某一个模块能够处理的,否则nginx会出现非法配置名的错误配置值中如果出现语法符号,例如空格、变量等,使用单引号或者双引号括起来 第一类:用于调试和定位问题的配置项1.daemon on|off 默认是on  是否以守护进程方式允许 2.master_process on|...

2015-11-08 22:14:38 128

原创 nginx的50X错误与php-fpm配置的优化

情况:高并发下,请求a所在的php-fpm进程顺利访问到资源,但是还没有执行完毕,请求b一直没能获得可用的php-fpm进程,此时请求b就会被返回504的错误,如果此时过多的504和其他问题导致整个fpm、nginx出现问题,那么还没有执行完毕的php-fpm进程所在的请求a就会出现502错误(因为进程被终止了) Nginx 502 Bad Gateway的含义是请求的PHP-CG...

2015-11-02 16:14:07 243

原创 centos的ssh服务

ssh服务1.简单tcp服务:  tcpdump -i eth0 -nnX port 21  (监听eth0网络下的端口为21的ftp服务) 2.非对称加密:  公钥:用来加密  私钥:用来解密 3.ssh既可以是客户端也可以是服务端,当你用ssh去连接其他服务器时候,你本身就是客户端,使用的就是客户端的配置文件,如果你是被连接的,则为服务器端  所有有两个配置文...

2015-10-31 19:20:22 108

原创 Git的使用命令

  将已有的代码目录作为仓库新增到git中:进入到代码目录中git initgit add README.md  (如果需要才进行该命令)git commit -m "first commit" (如果上一个命令执行了才进行该命令)git remote add origin 你的git仓库地址(ssh或者https格式都可以,如果没有该新仓库,则需要手动先新建)gi...

2015-08-29 22:58:47 101

原创 centos的php-fpm下开启独立的php错误日志文件

nginx是一个web服务器,因此nginx的access日志只有对访问页面的记录,不会有php 的 error log信息。 nginx把对php的请求发给php-fpm fastcgi进程来处理,默认的php-fpm只会输出php-fpm的错误信息,在php-fpm的errors log里也看不到php的errorlog 原因是php-fpm的配置文件php-fpm.conf...

2015-07-26 13:54:30 744

原创 redis 惊群的处理

 缓存惊群现象,在各种缓存中都会存在这种现象,这里以Redis为例,提供一种解决思路,留作参考~ 首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会有这么一种情况发生,那就是当一个缓存数据失效之后会导致同时有多个并发线程去向后端数据库发起请求去获取同一个数据,这样如果在一段时间内同时生成了大量的缓存,然后在另外一段时间内又有大量的缓存失效...

2015-07-15 10:47:25 637

原创 redis初识

Redis相对Memcached来说功能和特性上的优势已经很明显了。 而对于性能,Redis作者的说法是平均到单个核上的性能,在单条数据不大的情况下Redis更好。为什么这么说呢,理由就是Redis是单线程运行的。因为是单线程运行,所以和Memcached的多线程相比,整体性能肯定会偏低。因为是单线程运行,所以IO是串行化的,网络IO和内存IO,因此当单条数据太大时,由于需要等...

2015-07-07 19:50:40 106

原创 mysql分区认知

MySQL支持RANGE,LIST,HASH,KEY分区类型,其中以RANGE最为常用: Range(范围)–这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区。 Hash(哈希)–这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。 Key(键值...

2015-07-05 19:59:15 127

原创 mysql索引认知

索引原理:数据在磁盘中是以“块”的形式存储的,所以一张表涉及的数据可能会存在多个块中,而在磁盘中查询数据则会根据字段是否为有序与无序来区分,无序情况:1.数值具有唯一性则需要查找 总块数/2                  2.无序+无唯一性则需要查找  总块数 有序情况:1.数值唯一性:log2(总块数/2)   (log2是二分查找算法)             ...

2015-07-05 11:14:58 132

原创 mysql的主从同步、读写分离的认知

 以上是数据库的主从同步和读写分离的架构和流程图   以上是主从同步的原理图,通过日志来实现,所以需要设置打开mysql的二进制日志机制  mysql的主从同步配置一台主mysql,ip为192.168.209.128一台从mysql,ip为192.168.209.130 步骤一:修改主mysql的配置文件my.cnf,在[mysqld]下添加以...

2015-07-04 21:13:11 225

原创 mysql分表认知

第一种分表方法:通过merge生成合并表的形式,该方法用于已经存在的大表需要分表的情况举例情况:good表中有300万条数据,需要分成2个分表g1和g2 步骤1:备份good表,以免操作失败,用于恢复数据 步骤2:将good表中的数据分摊到分表中去:              1.使用程序处理,     2.在mysql中使用 create table g1 sel...

2015-07-03 23:24:26 120

原创 php的spl库基本使用

见附件

2015-06-25 14:55:47 126

原创 centos之svn安装

svn服务器有2种运行方式1.独立服务器 (例如:svn://xxx.com/xxx);2.借助apache。(例如:http://svn.xxx.com/xxx);以下使用的是独立服务器安装的形式 wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gzwget http://subversi...

2015-06-19 14:26:37 102

原创 http, tcp,udp, socket 的区别联系

 1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。在网络层有:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层中有:TCP协议与UDP协议。在应用层有:FTP、HTTP、TELNET、SMTP、DNS等协议。因此,HTTP本身就是一个协议,是从Web服务器传输超文本到本地浏览器的传送协议。  2、HTTP协议是建立在...

2015-06-18 15:56:47 66

原创 nginx初步了解

SIGINT     终止进程     中断前台进程,只能结束前台的进程SIGKILL    终止进程     杀死前后台进程,立即强制结束程序的运行,本信号不能被阻塞, 处理和忽略SIGTERM    终止进程     软件终止信号,会被阻塞, 处理和忽略SIGWINCH   忽略进程SIGHUP     终止进程 1.快速停止nginxnginx -s stop...

2015-06-16 23:47:49 124

原创 shell知识一

1.输出变量的值: echo $变量名 或 echo ${变量名} 2.删除变量:unset 变量名 3.变量赋值:变量名=值  3.1 如果值中存在空格需要使用双引号或单引号括起来  3.2 $lang="the lan is $Lang", 双引号中的$保留原有的作用  3.3 变量值中如果存在需要执行的命令,使用`命令`或者$(命令)的方式,例如:thePwd...

2015-06-14 21:21:35 115

原创 centos的nginx+php的fastcgi模式编译安装

一、nginx的安装查看“centos的nginx安装”博客 二、php安装 1.php5.3版本以后已经将php-fpm作为php的源码了,不需再再编译时候包含2.php5以后的版本在编译时不再需要添加--enable-fastcgi 的选项,php默认开启3.需要先安装libxml2和libxml2-devel,通过yum或者源码安装都可:  tar zxvf ...

2015-05-25 22:05:26 88

原创 php获取配置文件项的类

配置文件形式(/app/config/env.php)return array(    "default" => array(                    'host'=>'localhost',                    'email'=>'wsluozefeng@163.com'),    "new"=>array('host...

2015-04-06 13:33:00 207

原创 策略模式

1.定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化 2.代码文件结构:  2.1 策略接口或策略抽象类  2.2 具体的策略类,继承了2.2中的类  2.3 接收具体策略对象的中间层类  3.具体代码:  策略接口:AdStrategy.php  interfere AdStrategy{...

2015-04-05 16:08:38 108

原创 适配器模式

1.适配器模式,可以将不同的函数接口封装成统一的api 2.实际应用举例:php的数据库操作有mysql、mysqli、pdo等,可以用适配器模式统一成一致的适配器调用。  类似的场景还有cache适配器,将memcached、redis、file、apc等不同的缓存函数 3.适配器步骤:一个统一定义函数的接口文件、不同具体实现步骤的多个文件 4.代码实例:  1...

2015-04-05 15:14:48 81

原创 php函数使用

//var_export与var_dump区别在于前者输出的php是合法的php代码,另外设置第二个参数为true,可将输出结果赋予变量,重复使用$arr = array( 2, 99, array("ajia"=>'ssssss'));$rel = var_export($arr, true);  print_r($rel);exit; //array_chang...

2015-04-05 12:16:24 71

原创 mysql 锁的认知

mysql锁的问题     1.myisam和memory采取表锁,innodb支持表锁和行锁,但默认使用行锁      2.表锁:开销小,加锁快,不会出现死锁,锁粒度大,发生锁冲突的概率最高,并发度最低。而行锁完全相反      3.myisam的表锁:       3.1 使用 show status like 'table_%',如果 table_locks_wa...

2015-04-05 12:10:44 76

原创 php性能分析工具xhprof的安装使用

项目域名:http://www.ajia.com项目路径:/home/www/ 1.安装xhprof:wget http://pecl.php.net/get/xhprof-0.9.2.tgz  tar zxf xhprof-0.9.2.tgz  cd xhprof-0.9.2  cp -r xhprof_html xhprof_lib /home/www/  (复...

2015-04-01 17:36:00 103

原创 php反射api基础

//反射API的demo     class product{    }     class shoe extends product{        public $a;        private $b;         function demo(){            echo __FILE__;        }    } ...

2015-03-30 19:49:58 82

空空如也

空空如也

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

TA关注的人

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