使用新主题了,大家给个意见哈

Linux中使用dmidecode查看硬件信息

八 28th, 2009

使用dmidecode可以查看系统各硬件的详细信息CPU,各级缓存,内存,板载插口等信息

如我使用dmidecode | grep -A16 “Memory Device$”查看内存信息

标签:

ssh连接慢解决方法

七 17th, 2009

使用kde的konsole连接局域网内服务器慢,今用ssh -v 看了下,发现是

debug1: Next authentication method: gssapi-with-mic

一直等待。原来/etc/ssh/ssh_config中GSSAPIAuthentication选项被配置成yes后,会发起一个_kerberos.<hostname>的GSSAPI认证请求,这样,ssh会一直等待至GSS认证超时失败。所以等待了很久。
解决办法,将该选项置为no
GSSAPIAuthentication no
至于GSSAPI认证具体访式,有待以后研究 :lol:
sshd配置参考http://lamp.linux.gov.cn/OpenSSH/sshd_config.html

标签:

rsync 详细说明(转)

七 1st, 2009

rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,
我们下面就对它的选项一一进行分析说明。

标签:

将linux文件同步至windows下实现自动备份

六 23rd, 2009

对站长来说,丢失数据又没得恢复绝对是恶梦……因此,想到将linux下的数据库和www目录自动备份,因为有win主机闲置,那就存它那了。闲话少说,现在开工:
首先给win主机安装cwrsync(基于cgwin和rsync的同步软件)
…………

标签:

memcache实践小记

六 23rd, 2009

memcache是一个高效快速的,以内存存取的高速缓存,其保存方式通过“键”=>“值”的方式,对key进行hash存储,因而查询速度快,避免硬盘的反复擦写,也正如此,断电或重启就得重新为它“灌”内容了。
准备工作:
1.先安装libevent,因为memcached是依赖它的
2.memcached下载与安装

# ./memcached -d -m 50 -p 11211 -u root
参数说明 -m 指定使用多少兆的缓存空间;-p 指定要监听的端口; -u 指定以哪个用户来运行
3.启动./memcached -p 11211 如果报如下错

error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

那么,注册一下libevent扩展
# vi /etc/ld.so.conf.d/libevent-i386.conf
内容为你编译生成的libevent库的路径,默认为/usr/local/lib
运行
# ldconfig
好了,这样memcachd就装好了,接下来安装php支持,可以通过phpize或静态编译方式 ,我是通过后者
下载最新版pecl memcache包解压至phpdir/ext
#rm configure
#buildconf –force 当然这个需要
#./configure –with-memcache –enable-memcache
需要注意: 要运行“buildconf”脚本,需要 autoconf ,如果没有或版 本过低就先升级它
OK,写几行试试~

<?php
set_time_limit(1000);
$host = 'localhost';
$memcache = new Memcache;
$memcache->connect($host,11211);
 
for($i=0;$i<100000;$i++){
/*存上10w个看看*/
    $memcache->set('k'.$i,$i,false,1000);
}
 
print_r($memcache->getServerStatus($host));
print_r($memcache->getStats());//查看memcached服务状态
?>
标签:

各种工具(语言)之正则表达式语法差异比较

六 20th, 2009

这里对几种常用正则grep、egrep、sed要、awk、perl、vim、javascript等差异作个总结,希望一同补充完善……

标签: , ,

代码行数统计

六 6th, 2009

Linux统计当前目录代码行数
find . -name “*.php” -exec wc -l {} \; | awk ‘BEGIN {f=0;l=0} {f++;l=l+$1} END {printf(“total: %d files, %d lines\n”,f,l)}’

标签:

苏州归来……

六 2nd, 2009

苏州归来,只有照片 :mrgreen:

标签:

fsockopen中用feof判断读取http响应内容

五 31st, 2009

我们通常使用fsockopen打开一个$fp来发送http头,请求后用feof判断是否读完来获取服务器响应的内容。
但是这使用feof时要特别注意一点,php手册上关于feof有这样一个说明:

Warning
如果服务器没有关闭由 fsockopen() 所打开的连接,feof() 会一直等待直到超时而返回 TRUE。默认的超时限制是 60 秒,可以使用 stream_set_timeout() 来改变这个值。

也就是一个打开的socket连接,没有在读完后关闭,feof会一直返回true直到超时
看如下代码:

$url = "/N_StockQuote.aspx?StockCode=002024&amp;StockMarket=2";
$fp = fsockopen('hqdigi.eastmoney.com',80,$errno,$errstr,10);
if(!$fp){
 die("Network error or invalid stock code\r\n");
}elseif($error){
 die("$error:$errstr\r\n");
}else{
 $request = "GET $url HTTP/1.1\r\n";
 $request .= "Host: hqdigi.eastmoney.com\r\n";
 $request .= "Pragma: no-cache\r\n";
 $request .= "Cache-Control: no-cache\r\n\r\n";
 fwrite($fp,$request);//发送请求头
 while(!feof($fp)){
  $tmp .= fgets($fp,1024);//获取服务器返回信息
 }
}

运行这代码就有问题了,while进入死循环,直到超时

因此,稍作改动,请求头部最后加上Connection:close,来告诉服务器,响应完就断开

标签:

C语言通过mysql的 C API访问MySQL

五 23rd, 2009
#include <mysql.h>
#include <stdio.h>
int main(){
    char host[32] = "localhost";
    char user[32] = "root";
    char password[32] = "123123";
    char db[32] = "wordpress";
    char sql[100];
    MYSQL mysql;
    MYSQL_RES *res;
    MYSQL_ROW row;
    mysql_init(&mysql);
    mysql_real_connect(&mysql,host,user,password,db,3306,NULL,0);
    gets(sql);
    mysql_query(&mysql,sql);
    if(mysql_errno(&mysql) > 0){
        printf("%s\n",mysql_error(&mysql));
        return 1;
    }else{
        res = mysql_store_result(&mysql);
    }
    while((row = mysql_fetch_row(res))){
        printf("%s\t%s\n",row[0],row[1]);
    }
    mysql_close(&mysql);
    return 0;
}

编辑选项(还不是很清楚,待研究后补充)
-L指定库的路径,
-l指定具体的库文件。
gcc -g -o my my.c -L./ -I./ `mysql_config –cflags –libs`

MySQL C API参考

标签: