April 9, 2013
使用nohup在后台运行scp
"对于scp的用法见:\n需要从远程拷贝一个比较大的文件,所以要让SCP在后台运行\ngoogle搜了一下都是说使用ssh的public key让两台机器可以不用密码连接\n但不是每个人都有这个条件允许两台机器无密码通行的\n所以可以使用下面的方法实现:\n1.nohup scp user@server:path/file localpath\n2.输入密码\n3.按Ctrl+z挂起当前进程\n4.使用命令bg让挂起的进程继续运行"
March 19, 2013
sphinx分布式索引简介
"sphinx分布式索引原理:\n当searchd收到一个对分布式索引的查询时,它做如下操作:\n连接到远程代理\n执行查询\n(在远程代理执行搜索的同时)对本地索引进行查询\n接收来自远程代理的搜索结果\n将所有结果合并,删除重复项\n将合并后的结果返回给客户端\n在应用程序看来,普通索引和分布式索引完全没有区别。\n任一个searchd实例可以同时做为主控端(master,对搜索结果做聚合)和从属端(只做本地\n搜索)。这有如下几点好处:\n集群中的每台机器都可以做为主控端来搜索整个集群,搜索请求可以在主控端之间获 得负载平衡,相当于实现了一种HA(high availability,高可用性),可以应对某个\n节点失效的情况。\n如果在单台多CPU或多核机器上使用,一个做为代理对本机进行搜索的searchd实例 就可以利用到全部的CPU或者核。\n更好的HA支持已在计划之中,到时将允许指定哪些代理之间互相备份、有效性检查、跟踪\n运行中的代理、对检索请求进行负载均衡,等等。\nsphinx分布式索引配置:\nindex dist1\n{\nlocal index to be searched\nthere can be …"
March 9, 2013
linux下启动mysql提示”mysql deamon failed to start”错误的解决办法
"有台linux服务器,系统为centos系统.\n描述:\n网站突然连接不上数据库,于是朋友直接重启了一下服务器。进到cli模式下,执行 service myqsld start 发现还是提示”mysql deamon failed to start”错误信息.\n/etc/init.d/mysqld start\nMySQL Daemon failed to start.\nStarting mysqld: [FAILED]\n查看mysqld的log文件\n#less /var/log/mysqld.log\n/usr/libexec/mysqld: Can’t change dir to ‘XXX’ (Errcode: 13)\n首先是查看数据库日志\nmysqld started\n[Warning] Can’t create test file xxx.lower-test [Warning] Can’t create test file xxx.lower-test /usr/libexec/mysqld: Can’t change dir to ‘/xxx’ (Errcode: 13) …"
February 27, 2013
在zend stuido下使用git插件教程
"上一节zend stuido下安装了git软件插件。下面我们来讲一下git插件的使用方法.\n由于我们目前已经创建好了git项目。所以这里只介绍直接从现成的git项目仓库导入.\n选择菜单”文件(File)”-\u0026gt;”Import”\n点击”Browse…”选择存放git的目录,然后点击”Search”按钮这样就可以读取一些git配置信息,并在上面显示出来项目目录下的所有文件.\n最后一步是选择当前项目的名字,这个随便起的。最后点击”Finish”按钮就可以了。\n这时在IDE左侧会看到项目名字及项目结构信息。\n下面可以修改一个文件,然后在左侧的导航里选择修改的文件,右键点击,选择”Team” 菜单,再选择”Commit”菜单,会弹出一个对话框,在”Commit message”对话框时里输入提示备注信息。点击”Commit”按钮就可以了。"
February 27, 2013
zend studio 安装git插件
"搞php的用zend studio这个ide工具的开发人员应该不在少数,而对于我们团队开发使用svn和git版本控制软件也特别多的。我们公司团队使用的是zendstuido 10与git这两个软件。但默认情况下zendstuido并不支持git这个插件的,这个时候需要我们来手动安装git插件。方法如下:\nzend studio菜单:Help -\u0026gt; Install new software…\n下一步会提示一些是否授受协议之类的。直接选择 我同意(i agree)就可以了。\n下面我们来讲一下如何在zend stuido下使用git插件"
February 18, 2013
RESTful Web Service Cookbook 学习笔记
"每个HTTP方法都具有特定的主义. GET 的目的是得到一个资源的表述 PUT 用于建立或更新一个资源 DELETE 用于删除一个资源 POST 用于创建多个新资源或者对资源进行多种其它变更\n不要将GET方法用于不安全或非幂等操作.因为这样做可能会造成永久性的、不到的、不符合需要的资源改变。\n在所有上述方法中,GET被滥用的情况最少,因为GET既安全又幂等。\n参考:"
February 1, 2013
iptables规则的查看、添加、删除和修改[教程]
"在 Linux 中 iptables 实际上只是一个操作 Linux 内核 Netfilter 子系统的“界面”。顾名思义,Netfilter 子系统的作用,就是 Linux 内核里挡在“网卡”和“用户态进程”之间的一道“防火墙”。 也就是说 iptables 工作在用户态,它和我们平时开发的应用程序完全一样的,只是它的作用是用来操作 NetFilter 的一个工具。而 NetFilter 工作在内核态,它们的关系,可以用如下的示意图来表示:图来自极客时间\n在 iptables 中存在四表五链的概念。\n表分别为 filter、nat、raw、mangle ,当数据包抵达防火墙时,将依次应用 raw、mangle、nat、和 filter 表中对应链内的规则,其中表的应用顺序为:raw -\u0026gt; mangle -\u0026gt; nat -\u0026gt; filter,而表中链的规则自上向下依次执行,执行中有可能跳转到其它链中继续执行。 iptables Processing Flowchart\n如果按七层网络协议的话,则 ipables 中的数据流向为(来自Netfilter 官方的原理 …"
January 31, 2013
ldconfig命令作用
"ldconfig是一个动态链接库管理命令\n为了让动态链接库为系统所共享,还需运行动态链接库的管理命令–ldconfig ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态 链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表.\nldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令. **ldconfig命令行用法如下: ** ldconfig [-v|–verbose] [-n] [-N] [-X] [-f CONF] [-C CACHE] [-r ROOT] [-l] [-p|–print-cache] [-c FORMAT] [–format=FORMAT] [-V] [- |–help|–usage] path…\n**ldconfig可用的选项说明如下: ** (1) -v或–verbose …"
January 26, 2013
iostat命令
"Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat属于sysstat软件包。可以用yum install sysstat 直接安装。\n1.命令格式:\niostat[参数][时间][次数]\n2.命令功能:\n通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。\n3.命令参数:\n-c 显示CPU使用情况\n-d 显示磁盘使用情况\n-k 以 KB 为单位显示\n-m 以 M 为单位显示\n-N 显示磁盘阵列(LVM) 信息\n-n 显示NFS 使用情况\n-p[磁盘] 显示磁盘和分区的情况\n-t 显示终端和CPU的信息\n-x 显示详细信息\n-V 显示版本信息\n4.使用实例:\n实例1:显示所有设备负载情况\n命令:\niostat\n输出:\n[root@CT1186 ~]# iostat\nLinux …"
January 25, 2013
分布式TCP压力测试工具 tcpcopy
"tcpcopy是一种应用请求复制(基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题。\n总体说来,tcpcopy主要有如下功能:\n1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug 2)对于后端的短连接,请求丢失率非常低(1/10万),可以应用于热备份 3)普通上线测试,可以发现新系统是否稳定,提前发现上线过程中会出现的诸多问题,让开发者有信心上线 4)对比试验,同样请求,针对不同或不同版本程序,可以做性能对比等试验 5)利用多种手段,构造无限在线压力,满足中小网站压力测试要求 6)实战演习(架构师必备)\ntcpcopy可以用于实时和离线回放领域,并且tcpcopy支持mysql协议的复制,开源一年以来,功能上越来越完善。\n如果你对上线没有信心,如果你的单元测试不够充分,如果你对新系统不够有把握,如果你对未来的请求压力无法预测,tcpcopy可以帮助你解决上述难题。 …"