apache1.3.29 如何通过ports重新再安装一次?
-
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
apache1.3.29 如何通过ports重新再安装一次?
apache1.3.29 如何通过ports重新再安装一次?从而把它的最大连接数改成512,再编译;另外是不是mysql5,你如果apache连接数太大,mysql5速度却不能跟上?二者这间是不是有个最佳值?
编辑/删除帖子
编辑/删除帖子
自带的apche不在port里,而在用户岛文件里, 也就是在src.tar.gz里。最大连接数好像不用编译吧,我记得可以直接在httpd.conf里设置。port里面现在全是mysql5了,最佳值的问题只能你自己试了,我没有那环境。:)junfengfan 写了:apache1.3.29 如何通过ports重新再安装一次?从而把它的最大连接数改成512,再编译;另外是不是mysql5,你如果apache连接数太大,mysql5速度却不能跟上?二者这间是不是有个最佳值?
编辑/删除帖子
请参阅这里
http://www.openbsdsupport.org/ApacheSuexecChroot.html
如果你实在搞不定的话,我自己来试试。
最大连接数在 /var/www/conf/httpd.conf里设置:
下面的参数可以设置最大连接数,但是要根据网站的内容(静态/动态)和CPU、内存、磁盘性能、带宽(个人玩这个肯定是瓶颈了,其它的到可以暂且不考虑)的情况自行调整测试,试想一下,如果一个页面打开的时间是3秒,估计一般游客中80%要跑。所以不能一概而论。
就我目前的测试环境来说,系统自带的Apache 1.3已经可以胜任了,而且安装了其它模块, 例如mod_zip等还会与某些程序有冲突,因为很多php程序自带了压缩功能。真正的生产环境只能靠有条件的朋友提供测试结果了,但就目前市场上流行的提供web服务的构架来说,真正安装BSD操作系统的并不多,一个可能是BSD类操作系统对动态内容的优化还带提高,还有一种可能就是大家常说的系统性能问题,我没有真实环境做测试,也不敢妄下定论,不过坦率第说Linux+apche2还是主流。而就所有web server的市场占有率看,apache的占有率将近70%,剩下的是windows,nginx...... 请参看 http://www.netcraft.com 。
下面的参数可以设置最大连接数,但是要根据网站的内容(静态/动态)和CPU、内存、磁盘性能、带宽(个人玩这个肯定是瓶颈了,其它的到可以暂且不考虑)的情况自行调整测试,试想一下,如果一个页面打开的时间是3秒,估计一般游客中80%要跑。所以不能一概而论。
就我目前的测试环境来说,系统自带的Apache 1.3已经可以胜任了,而且安装了其它模块, 例如mod_zip等还会与某些程序有冲突,因为很多php程序自带了压缩功能。真正的生产环境只能靠有条件的朋友提供测试结果了,但就目前市场上流行的提供web服务的构架来说,真正安装BSD操作系统的并不多,一个可能是BSD类操作系统对动态内容的优化还带提高,还有一种可能就是大家常说的系统性能问题,我没有真实环境做测试,也不敢妄下定论,不过坦率第说Linux+apche2还是主流。而就所有web server的市场占有率看,apache的占有率将近70%,剩下的是windows,nginx...... 请参看 http://www.netcraft.com 。
代码: 全选
# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# the system with it as it spirals down...
#
MaxClients 150
-
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
有那么困难吗?呵呵
先按chenjun兄的做法,将 /usr/src/usr.sbin/httpd/src/include/httpd.h 这个文件中的红色部分:
修改为蓝色部分(这里假设你想将总HARD_SERVER_LIMIT设置为50000):
然后,进入apache 1.3的源代码所在目录,编译并安装自己定制的apache 1.3
前后过程不会超过5分钟——我的机器是10年前的老机器。
然后运行:
实际使用中别这样设,在这里设成50000是开玩笑的,否则你的服务器肯定受不了。
先按chenjun兄的做法,将 /usr/src/usr.sbin/httpd/src/include/httpd.h 这个文件中的红色部分:
代码: 全选
#ifndef HARD_SERVER_LIMIT
[size=100][color=red][B]#define HARD_SERVER_LIMIT 256[/B][/color][/SIZE]
#endif
代码: 全选
#ifndef HARD_SERVER_LIMIT
[size=100][color=royalblue][B]#define HARD_SERVER_LIMIT 50000[/B][/color][/SIZE]
#endif
代码: 全选
# cd /usr/src/usr.sbin/httpd
# make
# make install
代码: 全选
+--------------------------------------------------------+
| You now have successfully built and installed the |
| Apache 1.3 HTTP server. To verify that Apache actually |
| works correctly you now should first check the |
| (initially created or preserved) configuration files |
| |
| /var/www/conf/httpd.conf
| |
| and then you should be able to immediately fire up |
| Apache the first time by running: |
| |
| /usr/sbin/apachectl start
| |
| Or when you want to run it with SSL enabled use: |
| |
| /usr/sbin/apachectl startssl
| |
| Thanks for using Apache. The Apache Group |
| http://www.apache.org/ |
+--------------------------------------------------------+
#
然后运行:
代码: 全选
# httpd -V
Server version: Apache/1.3.29 (Unix)
Server's Module Magic Number: 19990320:15
Server compiled with....
-D EAPI
-D HAVE_MMAP
-D HAVE_SHMGET
-D USE_MMAP_SCOREBOARD
-D USE_MMAP_FILES
-D HAVE_FLOCK_SERIALIZED_ACCEPT
-D HAVE_SYSVSEM_SERIALIZED_ACCEPT
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
-D DYNAMIC_MODULE_LIMIT=64
[size=100][color=red][B]-D HARD_SERVER_LIMIT=50000[/B][/color][/SIZE]
-D HTTPD_ROOT="/var/www"
-D SUEXEC_BIN="/usr/sbin/suexec"
-D DEFAULT_PIDLOG="logs/httpd.pid"
-D DEFAULT_SCOREBOARD="logs/httpd.scoreboard"
-D DEFAULT_LOCKFILE="logs/httpd.lock"
-D DEFAULT_ERRORLOG="logs/error_log"
-D TYPES_CONFIG_FILE="conf/mime.types"
-D SERVER_CONFIG_FILE="conf/httpd.conf"
-D ACCESS_CONFIG_FILE="conf/access.conf"
-D RESOURCE_CONFIG_FILE="conf/srm.conf"
#
-
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
1. 先修改源代码并确保httpd.h文件中的注释符还在,这里不要习惯性思维,不能去掉,也就是这样写
2. 如果还不行,可能是以前编译过导致的配置文件权限问题,先删除 /usr/src/usr.sbin/httpd/obj下的所有文件,再在 /usr/src/usr.sbin/httpd/ 的目录下, 运行
3. 确保上面两步了执行无误后,如果还出现“make: no target to make”的提示(可能是无法执行配置文件),删除/usr/src 目录,重新下载src.tar.gz文件解压缩并更新或升级你的源代码(根据你使用的版本),然后重复步骤1或者2。
4. 如果上次编译距现在的时间比较长,内核或用户岛的源代码可能已经发生了比较大的变化,这时可能还需要先安装补丁文件或者根据FAQ上的提示升级或更新系统,然后再执行上面的步骤。
5. 注意这里原来限制的256并非是OpenBSD开发人员自行限制的,而是apache 1.3的原来的设置,目的是为了保护小内存服务器的正常运行,也就是说在一般OS默认apache 1.X版本中httpd.h这里全是限制了256。
代码: 全选
[B][size=100][color=#ff0000]#define HARD_SERVER_LIMIT 666[/color][/SIZE][/B]
代码: 全选
# chmod +x configure
# ./configure
# make
# make install
4. 如果上次编译距现在的时间比较长,内核或用户岛的源代码可能已经发生了比较大的变化,这时可能还需要先安装补丁文件或者根据FAQ上的提示升级或更新系统,然后再执行上面的步骤。
5. 注意这里原来限制的256并非是OpenBSD开发人员自行限制的,而是apache 1.3的原来的设置,目的是为了保护小内存服务器的正常运行,也就是说在一般OS默认apache 1.X版本中httpd.h这里全是限制了256。
-
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
因为错误是Makefile文件引起的,可能是因为你修改了配置后没有生成新的makefile。如果已经更新完源代码,在make, make install以前先用这个命令重新生成一下makefile(这里假设你对apache和其模块没有自己的特殊要求,如果有请自行修改下面的参数):
代码: 全选
./configure --with-layout="OpenBSD" --suexec-docroot="/cgi-bin" --suexec-logfile="/logs/suexec_log" --enable-suexec \
--enable-module=ssl --enable-module=so --enable-module=auth_anon --enable-shared=auth_anon \
--enable-module=expires --enable-shared=expires --enable-module=headers --enable-shared=headers \
--enable-module=auth_db --enable-shared=auth_db --enable-module=auth_dbm --enable-shared=auth_dbm \
--enable-module=auth_digest --enable-shared=auth_digest --enable-module=cern_meta --enable-shared=cern_meta \
--enable-module=define --enable-shared=define --enable-module=digest --enable-shared=digest \
--enable-module=info --enable-shared=info --enable-module=log_agent --enable-shared=log_agent \
--enable-module=log_referer --enable-shared=log_referer --enable-module=mime_magic --enable-shared=mime_magic \
--enable-module=mmap_static --enable-shared=mmap_static --enable-module=proxy --enable-shared=proxy \
--enable-module=rewrite --enable-shared=rewrite --enable-module=speling --enable-shared=speling \
--enable-module=unique_id --enable-shared=unique_id --enable-module=usertrack --enable-shared=usertrack \
--enable-module=vhost_alias --enable-shared=vhost_alias
-
- 铜 Cu
- 帖子: 236
- 注册时间: 2010-02-03 18:37
利用OB的源代码修改APACHE的最大连接数和版本号的方法
# cd /usr/src/usr.sbin/httpd
# vi src/include/httpd.h
==============================================
#ifndef HARD_SERVER_LIMIT
#define HARD_SERVER_LIMIT 1024
#endif
#define SERVER_BASEVENDOR "GOD Group"
#define SERVER_BASEPRODUCT "GOD_SITE"
#define SERVER_BASEREVISION "34.06.32"
==============================================
编译安装:
# make -f Makefile.bsd-wrapper obj
# make -f Makefile.bsd-wrapper cleandir
# make -f Makefile.bsd-wrapper depend
# make -f Makefile.bsd-wrapper
# make -f Makefile.bsd-wrapper install
重新启动HTTPD:
# apachectl restart
我这样编译,没有出错~~~
# cd /usr/src/usr.sbin/httpd
# vi src/include/httpd.h
==============================================
#ifndef HARD_SERVER_LIMIT
#define HARD_SERVER_LIMIT 1024
#endif
#define SERVER_BASEVENDOR "GOD Group"
#define SERVER_BASEPRODUCT "GOD_SITE"
#define SERVER_BASEREVISION "34.06.32"
==============================================
编译安装:
# make -f Makefile.bsd-wrapper obj
# make -f Makefile.bsd-wrapper cleandir
# make -f Makefile.bsd-wrapper depend
# make -f Makefile.bsd-wrapper
# make -f Makefile.bsd-wrapper install
重新启动HTTPD:
# apachectl restart
我这样编译,没有出错~~~
过了就好。参看了apache 1.3的说明,这个HARD_SERVER_LIMIT在windows上的默认值为1024,但是它的含义是指threads而不是processed。http://httpd.apache.org/dev/apidoc/apid ... LIMIT.html
修改版本号的目的是为了保护服务器吗?
修改版本号的目的是为了保护服务器吗?
在线用户
正浏览此版面之用户: 没有注册用户 和 1 访客