- 浏览: 188805 次
- 性别:
- 来自: 杭州
最新评论
-
store88:
浙江电信用的一般是F5的,呵呵
大家来谈谈关于负载均衡的设计 -
wangcgen:
我们项目中也有类似的情况,希望看到好的回复
大家来谈谈关于负载均衡的设计 -
silasoni:
mark只有观看的份了读nginx代码又看不懂
大家来谈谈关于负载均衡的设计 -
neptune:
lvs一定要两台,两台要做HA.
大家来谈谈关于负载均衡的设计 -
argan:
linux888 写道高版本的F5支持脚本编程,你想怎么负载都 ...
大家来谈谈关于负载均衡的设计
文章列表
最近要搞一个负载均衡,看了下ipvs ( lvs ) 的介绍:但是非常遗憾,ipvs只是做了IP层的负载均衡,无法做到基于URL的负载。
我找了,网上都推荐ipvs+nginx来完成基于url的负载均衡。
自己总结了一下:大概是一下的模式:
一 ...
先简述下一个c语言项目源码安装的过程
1. ./configure xxxxx
这个过程主要用于生成相应的Makefile,不同的编译选项就会产生不同的makefile.这样以来就可以为不同的CPU(x86? ppc?),机器运行环境,运行参数,安装目录等生成相应的makefile.
2. make
该步骤就是编译
3. make install
该步骤就是为编译的好的可执行文件、配置文件的拷贝。
本文用一个简单的例子简述这个makefile的构成,作为最近学习的总结
本工程文件如下:
main.c //工程主程序
Makefile //makefile文件
Make.proper ...
- 2009-07-27 14:35
- 浏览 3864
- 评论(3)
用C语言做数据库操作还真不多,一般都选择文件操作来搞定。
最近一个项目需要用到MYSQL,就去看了下mysql之c api.
基本上都是一样的,说白了就是一个应用层的协议。正因为做的机会不多,所以要写下来,免得以后忘记了。
1.首先当然是连接,函数原型如下:
MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,
const char *user,
const char *passwd,
const char *db,
unsigned i ...
- 2009-07-26 16:18
- 浏览 23100
- 评论(0)
理解Linux调优参数
在我们介绍Linux系统的各种调优参数和性能监测工具之前,需要先讨论一些关于性能调优的参数。因为Linux是一个开源操作系统,所以又大量可用的性能监测工具。对这些工具的选择取决于你的个人喜好和对数 ...
- 2009-07-23 09:39
- 浏览 3198
- 评论(0)
VI可以让我们的手在键盘上漂起来,就像玩WAR3一样。
可惜我不是vi发烧友。
记录几个常用的技巧以免忘记了可以看看:
vimrc配置:
syntax on#语法高亮
set nu#显示行号
#设置tab大小
set tabstop=4
set softtabstop=4
#自动缩进
set autoindent
#C ...
- 2009-07-19 18:12
- 浏览 6312
- 评论(0)
/proc//maps
查看进程的虚拟地址空间是如何使用的。
该文件有6列,分别为:
地址:库在进程里地址范围
权限:虚拟内存的权限,r=读,w=写,x=,s=共享,p=私有;
偏移量:库在进程里地址范围
设备:映像文件的主设备号和次设备号;
节点:映像文件的节点号;
路径: 映像文件的路径
每项都与一个vm_area_struct结构成员对应,
范例:
应用程序的正文段(权限为r-xp)从0x08048000到0x08049000,大小为4096;数据段从0x08049000到0x0804a000,大小为1KB。该应用程序使用了两个库:lib和libc。Libc 的正文段从0x0039100 ...
- 2009-07-15 17:38
- 浏览 8035
- 评论(0)
最近看了一篇blog,讲实现strlen的几种方法的,以前一直以为是简单的判断'\0'。看了下glibc的源码,果然精妙。同时也感慨自己的水平,发现自己什么都懂一点,但是仔细讲起来什么都不会。都说这是在校学生的通病,但是我都已 ...
写了一篇名为google 真可怜的文章直接被新浪删除了。
收到三条消息
您的文章《可怜的谷歌》已被管理员删除。给您带来的不便,深表歉意。2009-06-26 10:42
您的文章《可怜的谷歌》已被管理员删除。给您带来的不便,深表歉意。2009-06-26 10:29
您的文章《可怜的谷歌》已被管理员删除。给您带来的不便,深表歉意。
没有任何理由,可怜的我
SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 中断进程
SIGQUIT 建立CORE文件终止进程,并且生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终 ...
- 2009-06-26 17:05
- 浏览 5834
- 评论(0)
前面写了apache模块开发之hellloworld ,那个例子是一个简单的内容生成器。现在我们来讲一个过滤器的实现。过滤器是apache中一个非常精妙的设计,apache自带的很多模块都是通过过滤器来实现。
对于过滤器,有输入过滤器与输出过滤器两种。
对于输入过滤器,就是在内容生成器之前执行,而输出过滤器则在内容生成器之后。可以有下面的顺序:
http请求-》输入过滤器-》内容生成-》输出过滤器-》用户
所有的请求都会经过我们的过滤器,所以我们可以对这些进行操作,比如统计流量,压缩等等。
下面我们讲一个例子,这个例子是apache自带的一个demo,它的功能是把页面中所有的小写字母变成大 ...
学习apache模块开发已经快两个星期了,感觉搞apache模块开发挺有意思的,下面来讲讲apache模块开发的helloworld,非常简单。
Apache 模块开发主要采用挂钩子的方法来实现模块开发的,这和linux内核模块开发有点像,说白了就是加一个回调函数。下面我们来讲 这个例子吧。
首先来介绍下apache的一个工具apxs。apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。
1.apxs -g -n helloworl ...
用途一:
定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:
char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针,
// 和一个字符变量;
以下则可行:
typedef char* PCHAR; // 一般用大写
PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针
虽然:
char *pa, *pb;
也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式更省事。
用途二:
用在旧的C代码中(具体多旧没有查),帮助st ...
- 2009-02-02 10:42
- 浏览 1402
- 评论(0)
static 变量使用详解
- 博客分类:
- linux c
1. static 变量
静态变量的类型 说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态 存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。
2. 静态局部变量
静态局部变量属于静态存储方式,它具有以下特点:
(1)静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
(2)允许对构造类静态局部量赋初值 例如数组,若未赋以初值,则由系统自 ...
- 2009-01-13 11:39
- 浏览 2366
- 评论(0)
在一些底层的系统中,一定都是采用C作为开发语言,而且底层与UI进行交互,一般都会采用CLI来实现,CLI(Command Line Interface)也就是命令行接口。一定来说都是通过它来提供接口给UI或者一些高级用法。
熟悉PERL或者其他一些脚本 ...