[Nginx]把源代码导到Eclipse中去

下载来Nginx-0.7.64,成功的把源代码部署到来Eclipse-CDT里,总结一下导入过程中碰到的困难和技巧。

首先自己先安装Nginx,比如我就安装在
解压nginx的源代码,

tar zxvf nginx-0.7.64.tar.gz

解压的目录为
/home/herbert/Downloads/nginx-0.7.64

再把nginx安装到/home/herbert/app/nginx-0.7.64目录。
herbert是我的用户名
app是应用程序的文件夹

cd nginx-0.7.64
./configure --prefix=/home/herbert/app/nginx-0.7.64
make
make install

我的习惯是再创建一个软链接 nginx

ln -s nginx-0.7.64 nginx

到此Nginx安装完成来,可以尝试运行一下。

/home/herbert/app/nginx-0.7.64/sbin/nginx

//真正的工作开始来
1、创建Hello Wold ANSI C Project工程,我们把工程的名字定为 nginx-0.7.64,同时再把工程里的nginx-0.7.64.c文件删除掉。
2、/home/herbert/Downloads/nginx-0.7.64里的所有*.h文件拷贝到/home/herbert/workspace-cpp/include/nginx目录,然后在项目的属性(点击项目右键的属性)–>C/C++ Build –>Setting中的

GCC C Compiler 选项中的 Directories 中包含头文件路径
/home/herbert/workspace-cpp/include/nginx

再在GCC C Linker 中的 Libraries 中分别添加 crypt , pcre , crypto , z库。
这个是从/home/herbert/Downloads/nginx-0.7.64/objs/Makefile这个文件得知的(改天细细研究Nginx的Make文件的时候再仔细说去了)。

3、把/home/herbert/Downloads/nginx-0.7.64里的所有*.c文件拷贝到工程的src里去,我的是/home/herbert/workspace-cpp/nginx-0.7.64/src。

4、最后就可以运行来,在这个过程中,碰到说什么没有,什么找不到的话,那个.c文件就可以从工程中删除掉,从Makefile可以看出有些源文件在此次编译过程中是多余的。

虽然说的很傻瓜式来,估计大家在实际操作的时候还会碰到很多问题。

Ubuntu关于arial32.exe的错误

用apt-get安装wine的时候出现如下错误:

--2009-11-20 22:41:29--  http://downloads.sourceforge.net/corefonts/andale32.exe
Resolving downloads.sourceforge.net... 216.34.181.59
Connecting to downloads.sourceforge.net|216.34.181.59|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://ncu.dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe [following]
--2009-11-20 22:41:30--  http://ncu.dl.sourceforge.net/project/corefonts/the%20fonts/final/andale32.exe
Resolving ncu.dl.sourceforge.net... 140.115.17.45
Connecting to ncu.dl.sourceforge.net|140.115.17.45|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 198384 (194K) [application/octet-stream]
Saving to: `./andale32.exe'

解决方法是:

sudo aptitude purge ttf-mscorefonts-installer ubuntu-restricted-extras

Ubuntu下的Eclipse安装SVN插件

这个问题解决来好几天,终于发现来一个帖子,解决来这个问题。

解决方法如下:

sudo apt-get remove openjdk-6-jre openjdk-6-jre-headless  openjdk-6-jre-lib
sudo apt-get install libsvn-java libsvn-javahl
sudo ln -s /usr/lib/jni/libsvnjavahl-1.so /usr/lib/jvm/java-6-sun/jre/lib/i386/client/libsvnjavahl-1.so

然后在 eclipse.ini 要加一行

-Djava.library.path=/usr/lib/jni

参考文章:

http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=89018&view=next 的四楼

GoogleWaveInvite

Google Wave邀请

今天收到了Google Wave的邀请种子,截个图纪念一下。

GoogleWaveInvite

现在Google Wave是白菜价了,没人要了。

linux-logo

[译]任何系统管理员应该知道的20个系统监视工具

linux-logo

原文地址:

20 Linux System Monitoring Tools Every SysAdmin Should Know

http://www.cyberciti.biz/tips/top-linux-monitoring-tools.html

#1: top – Process Activity Command
#2: vmstat – System Activity, Hardware and System Information
#3: w – Find Out Who Is Logged on And What They Are Doing
#4: uptime – Tell How Long The System Has Been Running
#5: ps – Displays The Processes
#6: free – Memory Usage
#7: iostat – Average CPU Load, Disk Activity
#8: sar – Collect and Report System Activity
#9: mpstat – Multiprocessor Usage
#10: pmap – Process Memory Usage
#11 and #12: netstat and ss – Network Statistics
#13: iptraf – Real-time Network Statistics
#14: tcpdump – Detailed Network Traffic Analysis
#15: strace – System Calls
#16: /Proc file system – Various Kernel Statistics
17#: Nagios – Server And Network Monitoring
18#: Cacti – Web-based Monitoring Tool
#19: KDE System Guard – Real-time Systems Reporting and Graphing
#20: Gnome System Monitor – Real-time Systems Reporting and Graphing

待续~~

延伸读物:
高级 Linux 命令精通指南
Linux 文件命令精通指南
高级 Linux 命令精通指南,第 1 部分
高级 Linux 命令精通指南,第 2 部分
高级 Linux 命令精通指南,第 3 部分
高级 Linux 命令精通指南,第 4 部分

[译]在Ubuntu或者Debian中安装PCRE库( Perl 5 Compatible Regular Expression Library )

原文地址:

Ubuntu / Debian Install PCRE Library ( Perl 5 Compatible Regular Expression Library )

http://www.cyberciti.biz/faq/debian-ubuntu-linux-install-libpcre3-dev/

I need to compile few application and I need Perl 5 Compatible Regular Expression Library (PCRE). Under CentOS I can use a package called pcre-devel, but Debian do not have the same. How do I install pcre-devel under Debian / Ubuntu Linux?

我需要编译一些应用程序,同时也需要Perl 5 兼容正则表达式库(PCRE)。在CentOs下,我可以使用一个叫pcre-devel,但是Debian可就不一样了。我怎样在Debian/Ubuntu  Linux下安装pcre-devel呢?

Perl-compatible regular expression library. PCRE has its own native API, but a set of “wrapper” functions that are based on the POSIX API are also supplied in the library libpcreposix. Note that this just provides a POSIX calling interface to PCRE: the regular expressions themselves still follow Perl syntax and semantics. The header file for the POSIX-style functions is called pcreposix.h. To install PCRE, type thy following command:

Perl兼容正则表达式库(PCRE)有自己原生API,但是这一系列封装函是基于POSIX API,而POSIX API也支持libpcreposix库。这样只要提供一个POSIX的调用接口给PCRE后,正则表达式本身仍遵循Perl的语法和语义。POSIX-style的头文件是pcreposix.h,所以,安装PCRE,需要运行以下命令。

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

你可能还需要安装
sudo apt-get install openssl libssl-dev

开始写Nginx的Module

首先访问Nginx下载

wget http://sysoev.ru/nginx/nginx-0.8.22.tar.gz

待续~~

参考资料:
**http://nutrun.com/weblog/hello-world-nginx-module/

http://blog.zhuzhaoyuan.com/2009/08/creating-a-hello-world-nginx-module/

http://hi.baidu.com/kissdev/blog/item/f47622de19efa75fccbf1a90.html

http://www.tech-q.cn/thread-85-1-1.html

http://www.evanmiller.org/nginx-modules-guide.html

Berkeley DB

Berkeley DB的资源链接:
  官方主页:http://www.oracle.com/database/berkeley-db/db/index.html
  产品下载:http://www.oracle.com/technology/software/products/berkeley-db/index.html
  官方开发者文档中心:http://www.oracle.com/technology/documentation/berkeley-db/db/index.html
  产品技术信息: http://www.oracle.com/technology/products/berkeley-db/pdf/berkeley-db-family-datasheet.pdf
  http://www.oracle.com/database/docs/berkeley-db-datasheet.pdf
  http://www.oracle.com/database/docs/Berkeley-DB-v-Relational.pdf

如果下载不了,可用国内的下载地址(http://download.linuxeden.com/DownSoft/?softid=1627)

在Ubuntu上安装memcached和libmemcached

最近想写一些关于C语言的服务器端的程序,所以想在Ubuntu上安装memcached和libmemcached。

一、安装软件


//安装memcached
sudo apt-get install memcached
//安装libevent-dev
sudo apt-get install libevent-dev
//这个很重要,不然libmemcached就不能运行
sudo ln -s /usr/local/lib/libmemcached.so.3 /usr/lib/libmemcached.so.3

然后下载libmemcached-0.34,安装。

./configure的时候,如果你的Memcached不是默认安装路径的话,会报

configure: error: “could not find memcached binary”

错,如下的类似的命令可以解决这个问题。

./configure –with-memcached=/home/app/memcached/bin/memcached

二、启动软件并测试

运行memcached

memcached -d -m 64 -l 127.0.0.1 -p 11211

在当前目录创建测试数据文件,也可以运行

echo "test memcached">data

然后测试

//缓存data文件数据
memcp data --servers=127.0.0.1:11211
//拿到data文件数据
memcat data --servers=127.0.0.1:11211

这时控制台上显示

test memcached

———————————–
其实用SHELL命令
sudo apt-get install libmemcached-tools
就可以了。

参考文献

http://chaosconst.spaces.live.com/blog/cns!E0F633BD00131BE1!291.entry