2022年Apache使用教程 .pdf

上传人:C****o 文档编号:40150773 上传时间:2022-09-08 格式:PDF 页数:8 大小:139.29KB
返回 下载 相关 举报
2022年Apache使用教程 .pdf_第1页
第1页 / 共8页
2022年Apache使用教程 .pdf_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《2022年Apache使用教程 .pdf》由会员分享,可在线阅读,更多相关《2022年Apache使用教程 .pdf(8页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Apache 是一个历史悠久并且功能十分强大的WEB 服务器,但其丰富的功能对于一个新手来说往往不知道从何下手。我个人感觉Apache 的设计充分体现了模块化设计的优势,通过在动态模块加载(DSO)模式下的安装,任何子应用模块都可以通过配置文件的简单修改进行积木式的灵活配置。安装的过程可以从简单的静态html 服务开始,一个模块一个模块的学习使用。从单纯的HTML 静态服务(core),到复杂的动态页面服务(core+php,core+resin,core+php+mod_gzip,core+resin+mod_expire)。本文主要从简化安装=性能调优=维护方便的角度,介绍了WEB 服务的

2、规划、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 编译

3、:./configure-prefix=/home/apache-enable-shared=max-enable-module=most 3.可选应用模块/工具的安装:php resin mod_gzip mod_expire及各个模块之间的配合;mod_php安装:./configure-with-apxs=/home/apache/bin/apxs-enable-track-vars-with-mysql mod_resin 安装:./configure-with-apxs=/home/apache/bin/apxs mod_gzip 安装:修改Makefile中的 apxs 路径:然后

4、make make install 工具:日志轮循工具cronolog安装:http:/www.cronolog.org 4.升级/维护:看看通用和模块化的安装过程如何简化了日常的升级/维护工作;按照以上的方法:系统管理员和应用管理员的职责可以清楚的分开,互相独立。系统安装:系统管理员的职责就是安装好一台DSO 模式的 Apache,然后 COLON 即可,应用安装:由应用管理员负责具体应用所需要的模块,比如PHP Resin 等,并设置httpd.conf中相关的配置。系统升级:系统管理员:升级操作系统/升级 Apache 应用升级:应用管理员:升级应用模块,PHP Resin 等。WEB

5、应用的容量规划Apache 主要是一个内存消耗型的服务应用,我个人总结的经验公式:apache_max_process_with_good_perfermance (total_hardware_memory/apache_memory_per_process)*2 apache_max_process=apache_max_process_with_good_perfermance*1.5 名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 8 页 -为什么会有一个apache_max_process_with_good_perfermance和 apache_max_proces

6、s 呢?原因是在低负载下系统可以使用更多的内存用于文件系统的缓存,从而进一步提高单个请求的响应速度。在高负载下,系统的单个请求响应速度会慢不少,而超过 apache_max_process,系统会因为开始使用硬盘做虚拟内存交换空间而导致系统效率急剧下降。此外,同样的服务:2G内存的机器的 apache_max_process一般只设置到1G内存的 1.7 倍,因为 Apache 本身会因为进程过多导致性能下降。例子 1:一个 apache+mod_php 的服务器:一个apache 进程一般需要4M内存因此在一个1G内存的机器上:apache_max_process_with_good_per

7、fermance (1g/4m)*2=500 apache_max_process 500*1.5=750 所以规划你的应用让服务尽量跑在500 个进程以下以保持比较高的效率,并设置Apache 的软上限在800 个。例子 2:一个 apache+mod_resin的服务器:一个 apache 进程一般需要2M内存在一个 2G内存的机器上:apache_max_process_with_good_perfermance (2g/2m)*2=2000 apache_max_process 2000*1.5=3000 以上估算都是按小文件服务估算的(一个请求一般大小在20k 以下)。对于文件下载类

8、型站点,可能还会受其他因素:比如带宽等的影响。Apache 安装过程服务器个数的硬上限HARD_SERVER_LIMIT 的修改:在 Apache 的源代码中缺省的最大进程数是256 个,需要修改apache_1.3.xx/src/include/httpd.h#ifndef HARD_SERVER_LIMIT#ifdef WIN32#define HARD_SERVER_LIMIT 1024#elif defined(NETWARE)#define HARD_SERVER_LIMIT 2048#else#define HARD_SERVER_LIMIT 2560 httpd.conf 名师资

9、料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 8 页 -需要修改的通用项目有以下几个:#服务端口,缺省是8080,建议将整个Apache 配置调整好后再将服务端口改到正式服务的端口Port 8080=80#服务器名:缺省没有ServerName #最大服务进程数:根据服务容量预测设置MaxClients 256=800#缺省启动服务后的服务进程数:等服务比较平稳后,按平均负载下的httpd个数设置就可以StartServers 5=200 不要修改:以前有建议说修改:MinSpareServers 5=100 MaxSpareServers 10=200 但从我的经验看来:缺省值已经

10、是非常优化的了,而且让Apache 自己调整子共享进程个数还是比较好的。特别修改:在 solaris或一些比较容易出现内存泄露的应用上:MaxRequestsPerChild 0=3000 2.应用模块和工具的安装配置:由于使用模块动态加载的模式,所以可以方便的通过简单的配置调整来把Apache 定制成你需要的:最好把不常用模块全部清除(无论处于安全还是效率)。比如:对于静态页面服务器:就什么其他子模块都不加载,对于PHP应用就加上PHP模块,对于 JAVA应用就把 Resin 模块加载上。而且各种模块的插拔非常简单,这样调试过程中就可以简单的通过注释掉不需要的模块,而不用重新编译。一般说来,

11、可以不需要的模块包括:#LoadModule env_module libexec/mod_env.so#LoadModule negotiation_module libexec/mod_negotiation.so#LoadModule status_module libexec/mod_status.so 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 8 页 -#server side include已经过时了#LoadModule includes_module libexec/mod_include.so#不需要将没有缺省index文件的目录下所有文件列出#LoadM

12、odule autoindex_module libexec/mod_autoindex.so#尽量不使用CGI:一直是Apache 安全问题最多的地方#LoadModule cgi_module libexec/mod_cgi.so#LoadModule asis_module libexec/mod_asis.so#LoadModule imap_module libexec/mod_imap.so#LoadModule action_module libexec/mod_actions.so#不使用安全认证可以大大提高访问速度#LoadModule access_module libex

13、ec/mod_access.so#LoadModule auth_module libexec/mod_auth.so#LoadModule setenvif_module libexec/mod_setenvif.so 最好保留的有:#用于定制log 格式LoadModule config_log_module libexec/mod_log_config.so#用于增加文件应用的关联LoadModule mime_module libexec/mod_mime.so#用于缺省index 文件:index.php等LoadModule dir_module libexec/mod_dir.s

14、o 可用可不用的有:#比如:需要在/username/下调试 php 可以将LoadModule userdir_module libexec/mod_userdir.so#比如:需要将以前的URL进行转向或者需要使用CGI script-alias LoadModule alias_module libexec/mod_alias.so 常用的模块:最常用的可能就是php 和 JAVA应用服务器的前端,此外,从性能上讲利用mod_gzip 可以减少 40%左右的流量,减少机器用于传输的负载,而 mod_expires可以减少10%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE

15、在本地,根本不向服务器发出请求。建议将所有MODULE 的配置都放到相应模块的配置内部:some_module config PHP的安装:/path/to/php_src/configure-with-apxs=/path/to/apache/bin/apxs-with-other-modules-you-need 需要修改的配置:AddType application/x-httpd-php.php.php3.any_file_in_php resin的安装设置:/path/to/resin/src/configure-with-apxs=/path/to/apache/bin/apxs

16、名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 8 页 -具体的 resin设置放在另外一个文件中:比如/home/resin/conf/resin.conf CauchoConfigFile/path/to/apache/conf/resin.conf mod_expires 的安装配置:ExpiresActive on ExpiresByType image/gif access plus 1 month ExpiresByType text/css now plus 1 month ExpiresDefault now plus 1 day 注释:所有的.gif文件 1 个

17、月以后过期所有的文件缺省1 天以后过期mod_gzip 的安装http:/ 日志的轮循:cronolog的安装和设置cronolog可以非常整齐的将日志按天轮循存储缺省编译安装到/usr/local/bin/下,只需要将配置改成:CustomLog|/usr/local/sbin/cronolog/home/apache/logs/%w/access_log combined 日志将按天截断并存放在以星期为目录名的目录下:比如:log/1是周一,log/5是周五,log/0是周日用 gzip 压缩每天的日志:30 4*/usr/bin/gzip-f/home/apache/logs/date-

18、d yesterday+%w/access_log 日志的定期删除:30 5*/usr/bin/find/home/apache/logs/-name access_log.gz-mtime+3|xargs-r/bin/rm-f 升级维护:由于使用动态模块加载方式(DSO模式)安装 Apache,Apache 的 HTTPD 核心服务和应用模块以及应用模块之间都变的非常灵活,建议将所有独立模块的配置都放在 CONFIGURATIONS.名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 8 页 -里,这样配置非常容易通过屏蔽某个模块来进行功能调整:比如:#AddModule mod_

19、gzip.c 就屏蔽了mod_gzip,而其他模块不首任何影响。安装和维护过程:系统安装:系统管理员的职责就是安装系统和一个按照DSO 模式安装的Apache,然后 COLON。应用安装:由应用管理员负责具体应用所需要的模块并设置HTTPD。系统升级:系统管理员:升级系统/升级 Apache 应用升级:应用管理员:升级应用模块:PHP CAUCHO 等系统备份/恢复:如果 Apache 不在缺省的系统盘上,只需要将Apache 目录备份就可以了,遇到系统分区的硬件问题直接使用预先准备好的系统COLON,再直接将Apache所在物理盘恢复就行了。系统管理员:Apache的最简化安装OS+Apac

20、he(httpd core only)应用管理员:应用模块定制纯静态页面服务core PHP动态页面core+so+php JAVA应用core+so+caucho+ssl 应用例子: 例子:Apache 和 PHP模块的独立升级。如果 Apache 是按照以下方式安装:./configure-prefix=/home/apache-enable-shared=max-enable-module=most PHP是按照以下方式安装:./configure-with-apxs=/home/apache/bin/apxs-enable-track-vars-with-mysql 以后单独升级Apa

21、che 的时候,仍然是:./configure-prefix=/home/apache-enable-shared=max-enable-module=most make su#/home/apache/bin/apachectl stop#make install 单独升级php 时,仍然是:./configure-with-apxs=/home/apache/bin/apxs-enable-track-vars-with-mysql make su 名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 8 页 -#/home/apache/bin/apachectl stop#ma

22、ke install#/home/apache/bin/apachectl start 基于反相代理的WEB 加速:squid 和 mod_proxy 都可以实现反相代理加速。而基于缓存的代理加速比起原有WEB 服务,速度会有数量级的提升。小提示:Apache 安装后,缺省根目录下没有但很有用的2 个文件:favicon.ico:favicon.ico是一个 16x16 的站点图标文件,如果浏览器发现有这个文件,在地址栏中会用这个图标替换调浏览器的网页图标。IE6 和 MOZILLA 等主流浏览器都支持这个功能。例如:http:/ robots.txt:用于告诉搜索引擎的爬虫程序(spider)网站那些页面可以被索引,那些不可以。具体说明请参考:http:/www.robotstxt.org/wc/robots.html参考文档:Apache 项目http:/httpd.apache.orgPHP http:/Resin http:/mod_gzip http:/ http:/www.cronolog.orgmod_expires http:/httpd.apache.org/docs/mod/mod_expires.html面向搜索引擎的CMS 设计:http:/ 8 页,共 8 页 -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com