vim替换^M字符

Posted by 机器人 on 25th 一月 2010 in vim

替换^M字符
在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。

1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:
$ dos2unix myfile.txt
上面的命令会去掉行尾的^M。

2.使用vi的替换功能。启动vi,进入命令模式,输入以下命令: Read More »

web访问日志分析

Posted by 机器人 on 18th 一月 2010 in linux/server

语句:

cat access.log  | awk '{print $1}' | sort -n | awk '{S[$NF]++} END
 {for(a in S) {print a"\t" S[a]}}' | sort +1 -2nr

Read More »

耗时任务的异步处理

Posted by 机器人 on 11th 一月 2010 in web架构

服务器的访问压力比较大时,我们可以通过负载均衡来将负载分散到多台服务器上.但有些比较耗时的请求.比如:
1. 需要连接邮件服务器,发送一封超长的HTML邮件。
2. 需要对用户上传的图片进行裁剪,生成多份缩略图。
3. 需要将用户上传的文件分发到多台服务器上。

在我们的日常应用中经常遇到,用户需要等待一段时间,这个请求才能完成,在用户上传照片时,照片上传成功后,然后是裁剪,最后生成缩略图,在这么一个过程中,用户只能等待,所以对用户的体验来讲是相当不好的。可能在用户第一次使用过后,下次就很难再让他使用这个图片的上传功能了。 Read More »

mysql主从(master-slave)复制安装配置

Posted by 机器人 on 6th 一月 2010 in mysql

一. 环境准备

准备两台服务器,IP分别为
192.168.1.119 (主数据库服务器)
192.168.1.120 (从数据库服务器)

分别装好mysql数据库服务器
Read More »

squid安装与反向代理的配置

Posted by 机器人 on 24th 十二月 2009 in web架构

目前两台服务器,IP地址分别为
192.168.1.120
192.168.2.50
其中192.168.2.50提供web服务,可直接通过192.168.2.50访问该站点,现在要在192.168.1.120上安装squid来做192.168.2.50的反向代理,当用户访问192.168.1.120时,120服务器将用户的请求转给50,50响应后将响应内容转给120,然后再由120返回给用户。
1. 安装squid
Read More »

访客动态 —— 站点必配小工具

Posted by 机器人 on 22nd 十二月 2009 in mylife

对于经常写博客(当然,也包括个人网站)的朋友来说,非常关心博客的访问情况,为了清楚的知道自己网站的访问动态,会安装一些流量统计的代码,然后通过统计后台查看网站最新的访问情况,极端点的话,比如我吧,可能一、两个小时就会查看一次,看看又有谁访问了我的网站,他们都是通过什么方式找到我的博客的——通过搜索引擎呢?还是直接访问,还是从别的网站链接过来的。

所以每次都得首先打开统计代码网站,然后通过注册的账号和密码登录后台,最后点击后台最新访客动态,查看访客的情况,这样的操作虽然管用,但显得比较繁锁,挺麻烦的。
Read More »

http协议中,url最大长度是多少?

Posted by 机器人 on 21st 十二月 2009 in linux/server

相信很我朋友都有这个疑问,或者当有人问起时,可能会临时的去网站搜索一下,答案就多了,我搜到的答案就有好几个,1024个字符啊、4096个字符啊,反正什么样的结果都有,那么究竟url的最大长度是多少呢?今天下午为了解决这个疑问,查了一些资料,并做了一些测试,基本上可能得出结论。

在http协议中,其实并没有对url长度作出限制,往往url的最大长度和用户浏览器和Web服务器有关,不一样的浏览器,能接受的最大长度往往是不一样的,当然,不一样的Web服务器能够处理的最大长度的URL的能力也是不一样的。
Read More »

mysql表快速制造测试数据

Posted by 机器人 on 10th 十二月 2009 in mysql

帖子表只有20多W的数据,快添加测试数据至400W
执行以下语句。

INSERT INTO posts(
	bar_id,thread_id,first,author,authorid,
	subject,dateline,message,useip,haveattach
	) 
SELECT 
	bar_id,thread_id,first,author,authorid,
	subject,dateline,message,useip,haveattach 
FROM posts;

Read More »

Memcached安装

Posted by 机器人 on 9th 十二月 2009 in linux/server

软件列表

memcached-1.4.4.tar.gz
libevent-1.4.13-stable .tar.gz

1. libevnet安装
Read More »

php中,怎么对大文件进行读取操作

Posted by 机器人 on 3rd 十二月 2009 in php/javascript

在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。

需求

有一个800M的日志文件,大约有500多万行, 用php返回最后几行的内容。

实现方法

1. 直接采用file函数来操作

注:由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不 Read More »