2014
11-27

ab基准测试分析

Apache Benchmark(ab)工具是最著名的基准测试工具之一,它是默认的Apache安装的一部分,能够通过模拟对特定URL的任意数量请求来对Web服务器进行负载测试。ab工具提供以下信息:

  • 传输的总数据大小(以字节为单位)
  • Web服务器在模拟流量下每秒可以支持的请求总数
  • 完成一个请求所花费的最长时间(以毫秒为单位)
  • 完成一个请求所花费的最短时间(以毫秒为单位)

使用ab工具还可以运行很多不同的负载模拟,例如:

  • 对Web文档的模拟请求
  • 指定时间内的请求
  • 打开Keep-Alive时的请求

最重要的是,Apache Benchmark是独立于Apache Web服务器的,也就是不启动web服务器,也可以运行此工具。

查看全文 >
2014
11-26

centos安装lnmp环境

系统需求:
  • CentOS/Debian/Ubuntu Linux系统
  • 需要2GB以上硬盘剩余空间(个人建议>=20G)
  • 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统)
  • VPS或服务器必须已经联网!
  • Linux下区分大小写,输入命令时请注意!

LNMP一键安装包 V1.1 已经在Linode、DiaHosting、PhotonVPS、DigitalOcean、VR香港VPS、遨游主机、RamNode、BudgetVM、瑞豪开源、DirectSpace、KVMLA、OneAsiahost新加坡VPS、景文互联、VPSYOU、Hostigation、BuyVM、123systems、bluevm、80VPS、XSVPS等众多VPS的CentOS 5-6.5、Debian 5-7、Ubuntu 10.04-14.04的32位和64位系统上测试通过。


安装步骤:

1、使用putty或类似的SSH工具登陆VPS或服务器;

登陆后运行:

screen -S lnmp
查看全文 >
2014
11-25

centos6关闭IPv6

centos6默认开启了IPv6,关闭它的办法如下:

1、保险起见,先检查下系统是否开启了IPv6

ifconfig

如下图所示,出现了“inet6 addr”,即表示系统开启了IPv6
1.png

2、关闭方法
编辑“/etc/modprobe.d/dist.conf”配置文件

vi /etc/modprobe.d/dist.conf

在文件结尾添加如下配置

alias net-pf-10 off
alias ipv6 off

保存并退出后,重启系统。
再操作“步骤1”进行验证,即可发现已生效。系统切换到了IPv4。

查看全文 >
2014
11-20

centos之SSH安装

SSH为 Secure Shell的缩写,由IETF的网络工作小(Network Working Group)所制定。SSH为建立在应用层和传输层基础上的安全协议。

传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的,因为它们在网络上用明文传送数据、用户账号和口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传送的数据,然后再冒充用户把数据发送给真正的服务器。

而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。通过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。

安装SSH:

yum -y install ssh

启动SSH:

service sshd start

停止SSH:

service sshd stop

重启SSH:

service sshd restart

设置为开机运行

chkconfig sshd on
查看全文 >
2014
11-20

Linux下安装Yii2.0 HOT

Linux下安装Yii2.0步骤如下(PHP版本:5.5.15):
1、若还没有安装 Composer ,则在终端里输入以下命令,先安装 Composer(等待时间有点长,请耐心等待,下同):

#若复制到终端里运行不了,请手工输入(下同)
curl -sS https://getcomposer.org/installer | php

1.png

2、运行如下命令来安装 Composer Asset插件:

php composer.phar global require "fxp/composer-asset-plugin:1.0.0-beta3"

可能会执行出错,抛出如下异常:
2.png

查看全文 >
2014
10-15

Javascript闭包剖析(通俗易懂)

闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。
下面就是我的学习笔记,对于Javascript初学者应该是很有用的。


一、变量的作用域

要理解闭包,首先必须理解Javascript特殊的变量作用域。
变量的作用域无非就是两种:全局变量和局部变量。
Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。

    var n=999;
    function f1(){
        alert(n);
    }
    f1(); // 999

若是PHP语言中,则需要对变量进行全局化:

    $n = 999;
    function f1(){
        var_dump($n);
    } 
    f1(); //NULL
    $n = 999;
    function f1(){
        global $n;
        var_dump($n);
    }
    f1(); //999
查看全文 >
2014
10-11

node.js实现CURL功能

PHP中的CURL功能很好实现,四五行代码封装一下就OK了。node.js中如何实现CURL的功能呢,下面详细介绍。

这里需要用到request这个库,所以先安装此包:

npm install request

安装下来之后, 就是代码实现的问题了。示例代码如下(只实现了POST方法):

    var request = require('request');
    request.post(
        {
            url:'http://localhost:9095/phpTest.php',
            form:{
                username:'hahaha',
                password:'wowowowow'
            },
            encoding:'utf8'
        },
        function(error, response, body){
            if(response.statusCode == 200){
                console.log(body);
            }else{
                console.log(response.statusCode);
            }
        }
    );
查看全文 >
2014
10-08

node.js调用webservice遇到的问题

正在开发的一个node.js项目中,需要调用webservice服务,采用的是SOAP请求。
npm下来三个扩展库:soap-helper、xmldom、xmlhttprequest。在实际使用过程中,发现"/soap-helper/core/client.js"文件中的源码有部分地方不符合node.js的程序规范,修改如下。

源代码如下:
osc.png

修改后,如下图所示:
osc.png

osc.png

查看全文 >
2014
09-25

神兽保佑,永无BUG

贡献一段自己用的“神兽保佑,永无BUG”的注释代码:

           /** code is far away from bug with the animal protecting
            * 
            *      ┏┓   ┏┓
            *    ┏┛┻━━━┛┻┓
            *    ┃       ┃  
            *    ┃   ━   ┃
            *    ┃ ┳┛ ┗┳ ┃
            *    ┃       ┃
            *    ┃   ┻   ┃
            *    ┃       ┃
            *    ┗━┓   ┏━┛
            *      ┃   ┃神兽保佑
            *      ┃   ┃永无BUG!
            *      ┃   ┗━━━┓
            *      ┃       ┣┓
            *      ┃       ┏┛
            *      ┗┓┓┏━┳┓┏┛
            *       ┃┫┫ ┃┫┫
            *       ┗┻┛ ┗┻┛
            *
            */

查看全文 >
2014
09-23

node.js向ejs模板发送数据的两种方式

e.js中向ejs模板发送数据有以下两种方法:

方法一、
javascript res.render('viewName',{name1:'value1', name2:'value2',...});

语法:
javascript res.render(view, [locals], callback);

说明:
    view:为模板文件名
    locals:为模板中所有变量的key-value的JSON数据
    callback:为回调函数

弊端:此方法在给模板赋值时,必须一次性将模板里的所有变量都传值,否则会报错。


查看全文 >
微信扫一扫