Archive for 四月, 2007 — Page 2 of 2



在 Ubuntu Server 上安装 VPN Client

为了连接到学校的VPN网络,得安装个Cisco的VPN Client 4.8。

但是安装的时候才发现需要有kernel headers。而Ubuntu Server的最小安装没有带,所以必须先安装内核源代码,最简单的办法就是使用下面的命令:

sudo apt-get install build-essential linux-headers-`uname -r`

当然你所用的用户必须能有权限成为 super user.

build-essential 包里面会安装gcc, make, libc等,以后可能会有用,但是如果只是要安装VPN Client的话,其实也可以只安装 gcc 和 make,比使用 build-essential 包可以省一点点硬盘空间。

sudo apt-get install gcc make linux-headers-`uname -r`

nginx vs. Lighttpd vs. Apache 高效的web server服务器软件比较

nginx

如果你在Linux下用Apache Bench (ab)测试我这个网站的话,就会发现服务器不是常见的Apache, 而是 nginx.

nginx是一个小巧而高效的Linux下的web服务器软件。开发人员 Igor Sysoev 来自俄罗斯,nginx的话其实已经在一些俄罗斯的大型网站上运行多年,相当的稳定,最近才在美国开始知名起来。

而另外一个热门的web服务器软件是Lighttpd,因为运行在Youtube的后台,所以知名度很高。Lighttpd特色在于它能做Flash streaming和对fastcgi的支持,这样对于Ruby on Rails之类的程序提速不少,比起Apache要好很多。

但是 nginx 要比 Lighttpd 更稳定,功能上并不弱于Lighttpd,差不多什么都有,而且比Lighttpd对于URL rewrite的支持更完善一点。

不管是 nginx 还是 lighttpd, 对于用来提供静态文件都要比Apache好很多很多,主要就是占用的内存小,Apache和这两个小巧的服务器软件来比实在是个庞然大物啊。

源代码控制,使用svn的小技巧

自从一年以前开始接触subversion, 当时是听说svn会取代CVS, 其实我也没有用过CVS, 但是为了以后方便就直接用起了svn。

源代码控制软件在编程人员中是个必备的工具,特别是多人合作项目,有了源代码控制就可以很方便的合并不同人的修改。对于我来说,用源代码控制主要是用来备份, 利用svn可以很方便的回到任何一个以前的版本, 省了很多事。另外值得一提的是Windows下的TortoiseSVN客户端很好用,diff的查看功能很方便。苹果电脑的用户则可以使用 scplugin,但是功能没有TortoiseSVN那么完善。

下面是几个使用svn的小技巧(都是在Linux平台下的命令,对Windows用户不适用),

  1. 在svn的工作目录下,会有很多 .svn 的文件夹,如果要去除这些目录的话,可以使用一下的命令:
    find -d “your directory” -name “.svn” -exec rm -r ‘{}’ ; -print

    当然,你也可以使用
    svn export “your directory” “your new directory”
  2. 如果你在当前的工作目录下,用rm删除了一些文件,但是忘了使用svn rm,那么你就需要用一下的命令来从svn库内删除这些文件:
    svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' )
  3. 如果你的程序使用了一个第三方的程序,并且做了一些修改,那么当这个第三方软件升级以后,可以使用svn轻松跟踪升级的部分,但是可以有选择性的保留你做的修改。这部分的功能,具体使用方法相对复杂一点,最好参考这里