Windows下编译Apache 晴

jed , 2007-4-17 08:44 , 服务器技术 , 评论(0) , 阅读(4793) , Via 本站原创
首先下载Apache的source,Unix Source: apache_1.3.37.tar.gz 。当然也可以选择后面这个版本:Win32 Source: httpd-2.0.59-win32-src.zip 。这里面的区别就是,后者可以直接在Windows下进行编译。需要的一点转换就是要把某些文件的格式由unix转换为DOS的。这里我们选择前者。

需要的工具:Visual C++,这里需要使用Visual C++来编译,其实Apache已经设置好了makefile,所以真正要用的是namke。

有了以上的准备就可以很方便的编译Apache了。在Windows下真的不如在Linux下边感觉好(即使选择了WIndows版本的Source),这里虽然是编译Apache了,但是很多参数不能用,所以Apache推荐直接安装Binary版本。不过通过编译apache可以体验制作工程的过程。下面开始:

解压缩下载的zip文件。apache工程布局是典型的Linux风格,根目录下放置的是一些脚本文件,用于探测环境并设置makefile,当然这些在Windows环境下使用不到也没办法用的。我们要使用的是/src目录下面的文件。nmake默认的文件是MAKEFILE,而我们要使用的是Makefile.win。在命令行下进入/src目录,执行以下命令

nmake /f Makefile.win _apacher

这样就得到了必需的apache.exe和一些dll文件,同时会在c:\生成相应的目录。但是如果想运行apache还需要在/conf目录配置http.conf文件。
关于屏蔽微软正版提示-KB905474
中了招的网友请看
点击在新窗口中浏览此图片

删除后重启就可以了
还没中招的网友防止中招请看 (适用于xp专业版用户)
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片
点击在新窗口中浏览此图片

Linux安装分区推荐 不指定

jed , 2007-3-14 14:11 , 服务器技术 , 评论(1) , 阅读(8174) , Via 本站原创
 你可以将Red Hat Linux安装在一个单一的大分区中,也可以将它分开安装在几个分区中,这是Linux的一个优点,特别是做为服务器,这点就更有用了,相比之下,微软的DOS、Windows 95/98就只能全部安装在主分区C区中,若你突发奇想,想把Windows 98安装在D分区,那就只能请教比尔.盖次了!单一分区和多分区的安装各有什么好处呢?单一分区对于初学者来说,当然比较简单省事,只要一个分区,就可以把Linux全部安下了,所以,初学者一般都用单一分区来安装;多分区安装相对来说,比较灵活,并且将Linux安装在多个分区,有利于提高你的计算机的整体性能,电脑执行程序的效率也大大提高,因为Linux是一个多用户、多任务的系统,在相同的时间内,可以允许不同的用户执行不同的任务,多分区就使Linux系统对任务或程序自如地调度或运用。

在这里,我们将要为你推荐以下的多分区的配置,当然,如果你想安装Red Hat Linux的所有软件包的话,必须使用这里指出的较大的分区尺寸。在实践中,你可能会加大这里所推荐的空间的大小,但可以保证将来升级时不必重新分区。
Tags:

apache内存报死 晴

jed , 2007-2-6 16:41 , 服务器技术 , 评论(0) , 阅读(7532) , Via 本站原创

apache进程在使用内存时,是“渐长”的。也就是说,直到这个进程死掉,使用内存的数量是一直增长而不会减少的。这样的话,apache进程使用内存的多少,就决定于你的应用程序最大使用内存量了。

keepalive参数
KeepAliveTimeout 这个参数决定了,在什么都不做之前,一个http进程能够等待多长时间?设想一下,如果keepalive设置为on,而 keepalivetimeout设置为一个比较大的数字,apache占用内存会很快的增长。这是因为,一个apache进程完成了一个任务(并达到了一定的内存占用,想一下“渐进”模式),并不会马上退出,而是等待一个keepalivetimeout时间。假设用户的链接请求持续不断的到来,则积累起来的无用的apache进程就会相当多,直到timeout,这些进程才会被杀死。
但是,keepalive的确对于静态的文件,比如图像文件的传送是很有效的,因此,keepalive要设置为on,但是keepalvietimeout要设置的小些,比如5s
硬件上的考虑

其实起50%的作用,当然是越快越好。如果不知道哪个快,就换成越贵越好。可实际上不可能做到这些,因为银子有限,所以按照这个顺序考虑:内存越大越好- >硬盘SCSI好于SATA->CPU越快越好。下面是一个比较极端的高级配置(指运行MySQL数据库级别的网站,想克隆ebay的去扎风投然后买曙光好了):

Dual Xeon 3.x  + 4G RAM + SCSI的集群做MySQL服务器,Dual Xeon 3.x  + 4G RAM + SCSI 做HTTP。

下面是一个更为靠普的推荐配置:

Dual Xeon 3.x  + 4G RAM + SCSI做MySQL+HTTP的单机服务器

而下面这个也是更为广泛的配置:

Dual Xeon 3.x  + 2G RAM + SATA做MySQL+HTTP的单机服务器。对于这种情况需要用心优化了。

记住,当有更多预算时,首先考虑的是内存,其次是高速硬盘和RAID,最后才是CPU。
Windows2000的终端服务有90天的限制,如果这90天内不激活它的话,过期之后就不能连接到Windows2000终端了(不影响无盘DOS站的使用)。要激活它,首先得拥有一个七位数的注册号码,利用它再经过如下操作即可完成终端的激活:  
(1)首先进入“我的电脑→控制面板→添加/删除程序”,选“添加/删除Windows组件”,然后确保已选中其中的“终端服务”和“终端服务授权”两项。  
(2)当安装了“终端服务”和“终端服务授权”之后,在“开始→程序→管理工具”中就有“终端服务授权”一项,打开它,即可得到一个四段共20位数的“产品ID”,抄下它。  
(3)接入Internet,打开浏览器,进入https://activate.microsoft.com(注意是“https”而不是“http”)这个地址,此时是英文界面。在左上角的下拉框中选中“Chinese(Simplified)”(简体中文)项,再按“GO”图标。  
(4)现在便得到的是中文网页了。确保已选中“启用许可证服务器”项,再单击“下一步”按钮。  
1。以管理员身份登陆系统
2。进入控制面板里的“添加/删除程序”,选择“添加/删除Windows组件”
3。出现Windows组件向导,往下拉到底,在“终端服务”和“终端服务授权”前打上钩然后选择“下一步”
4。下面就按照提示一路next。(注意:接下来就要注意了,windows会让你选择两种模式,具体选哪一种就看你需要的。第一种是“远程管理模式”,这种模式和那个著名的PCAnywhere的作用的相同的,实现过程却相反。怎么说呢,PCAnywhere是用主机去找用户端,终端服务远程管理模式是用户端反过来找主机。该模式只允许2个Administrator组成员同时登入。另,若使用该模式你可以不安装终端服务授权,因为安了也不起作用。第二种是“应用程序服务器模式”,该模式允许所有有登入权限的用户在不超过同时连接上限时都可连接。在此模式下效果相当于若干人同时使用一个服务器做不同的工作而互不干扰。要是想真正使用终端服务的话,请选择第二个,在这里俺是盗版盘,所以选择的就是“应用程序服务器模式”)。


5、安装成功后,按提示重新启动后,则可在“开始→程序→管理工具”中看到相关组件,包括“终端服务授权”、“终端服务管理器”、“终端服务客户端生成器”及“终端服务配置”四项。
服务器负载太大而影响程序效率也是很常见的,我们需要对此进行测试。这里我以目前最常用的Apache服务器为例。 Apache服务器自带有一个叫AB(ApacheBench)的工具,在bin目录下。使用这个轻巧的工具我们可以对服务器进行负载测试,看看在重负荷之下服务器的表现如何。ApacheBench 可以针对某个特定的 URL 仿真出连续的联机请求,同时还可以仿真出同时间点数个相同的联机请求,因此利用 ApacheBench 可帮助我们在网站开发期间仿真实际上线可能的情况,利用仿真出来的数据作为调整服务器设定或程序的依据。

在命令行下输出:

./ab -n number_of_total_requests \

-c number_of_simultaneous_requests \

http://your_web_server/your_php_app.php
Tags:

APACHE安装笔记 晴

jed , 2007-1-24 17:29 , 服务器技术 , 评论(0) , 阅读(3653) , Via 本站原创
从简化安装==>性能调优==>方便维护的角度,讨论WEB服务的规划==>HTTPD安装/应用模块配置==>升级/维护等过程。
让APACHE的升级和PHP RESIN等应用模块的升级完全互不影响。

1. WEB应用容量规划:根据硬件配置和WEB应用的特点进行WEB服务的规划及一些简单的估算公式;
2. APACHE安装过程:apache的通用的简化安装选项,方便以后的应用的模块化配置;
修改 HARD_SERVER_LIMIT:
vi /path/to/apache_src/src/include/httpd.h
#define HARD_SERVER_LIMIT 2560 <===将原来的 HARD_SERVER_LIMIT 256 后面加个“0”
apache编译:
/path/to/apache_src/configure --prefix=/another_driver/apache --enable-shared=max --enable-module=most
3. 可选应用模块/工具的安装:php resin mod_gzip mod_expire及各个模块之间的配合;
PHP安装:
/path/to/php_src/configure --with-apxs=/path/to/apache/bin/apxs --enable-track-vars --with-other-modules-you-need
mod_resin安装:
/path/to/resin/src/configure --with-apxs=/path/to/apache/bin/apxs
一天两万个请求确实不大,但如果在高峰时期出现,而晚间或其它时间没有,呈正态分布,且均是需要时间的下载服务,那负载还是很大的。

Apache允许为请求开的最大进程数是256,MaxClients的限制是256.如果用户多了,用户就只能看到Waiting for reply....然后等到下一个可用进程的出现。这个最大数,是Apache的程序决定的--它的NT版可以有1024,但Unix版只有256,你可以在src/include/httpd.h中
看到:
#ifndef HARD_SERVER_LIMIT
#ifdef WIN32
#define HARD_SERVER_LIMIT 1024
#else
#define HARD_SERVER_LIMIT 256
#endif
#endif
你可以把它调到1024,然后再编译你的系统。记得在httpd.conf里也
要更改相应配置,缺省好象是150。就下面的机器来说,调到512顶
死了,如果再高,系统受不了。

另外,一些系统也限制了一个用户的最大进程数。你可以用ulimit -u
来看。Linux一般是256。因此你要真想让Apache超过这个数,就得调整
这个参数:
ulimit -u unlimited
这个参数要在Apache运行之前修改,因此建议加到apachectl里:
case $ARG in
start)
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue
改成
case $ARG in
start)
ulimit -u unlimited
if [ $RUNNING -eq 1 ]; then
echo "$0 $ARG: httpd (pid $PID) already running"
continue

分页: 33/39 第一页 上页 28 29 30 31 32 33 34 35 36 37 下页 最后页 [ 显示模式: 摘要 | 列表 ]