当前位置:首页 > Web开发 > 正文

Apache优化、安装部署及工作模式

2024-03-31 Web开发

一、安装Apache2.4版本;

二、Apache服务的三种工作模式详解;

三、修改apache的工作模式;

四、apache工作模式的优化与修改;

五、进程与线程的区别。

apache是一个模块化设计的服务,所谓的模块化就是将各个功能,特性都独立的分开,这样设计的好处是可扩展性强,各个功能之间的依赖性相对较弱,在后期修改,升级,添加新功能是非常方便。不同的模块可以静态的编译进程序,也可以被动态加载。动态加载是apache的特性(DSO,dynamic shared object),所谓的动态加载就需要新的功能的时候,只需将功能模块编译出来,通过配置文件加载到apache服务中,而不需要重新编译apache.

apache的版本有2.0、2.2、2.4三个版本使用较多,每个版本使用安装都有少许差异,我今天介绍的是2.4的版本,兄弟们使用的话要看仔细了,

Apache服务新版本2.4新增特性介绍:

新增模块

mod_proxy_fcgi(可提供 fcgi 代理)

mod_ratelimit(限制用户带宽)

mod_request(请求模块,对请求做过滤)

mod_remoteip(匹配客户端的 IP 地址)

对于基于 IP 的访问控制做了修改,不再支持 allow,deny,order 机制,而是统一使用 require进行。

还新增以下几条新的特性:

MPM 支持在运行时装载且支持 event

支持异步读写

在每个模块及每个目录上指定日志级别

增强版的表达式分析器

每请求配置: <If>, <Elseif>

毫秒级别的 keepalive timeout

基于 FQDN 的虚拟主机不再需要 NameVirtualHost 指令

支持使用自定义变量

一、安装Apache2.4

安装环境:操作系统: Centos7.2,关闭 selinux
检查 httpd 包是否安装,如安装则卸载。
下载源码包:
httpd-2.4.23.tar.gz
apr-1.5.2.tar.gz
apr-util-1.5.4.tar.gz
zlib-1.2.8.tar.gz
pcre-8.39.tar.gz
注: apr(Apache Portable Runtime)Apache 可移植运行库, 它是一个对操作系统调用的抽
象库,用来实现 Apache 内部组件对操作系统的使用,提高系统的可移植性

链接: https://pan.baidu.com/s/1km0qEYh556OtEygqc7I1GQ

1.开始安装 [[email protected] ~]# rz #xshell中,使用rz命令将下载的tar包上传至web服务器 #以下是将所有源码包解压缩 [[email protected] ~]# tar zxf openssl-1.0.1u.tar.gz -C /usr/src [[email protected] ~]# tar zxf pcre-8.39.tar.gz -C /usr/src [[email protected] ~]# tar zxf zlib-1.2.8.tar.gz -C /usr/src [[email protected] ~]# tar zxf httpd-2.4.23.tar.gz -C /usr/src [[email protected] ~]# tar zxf apr-1.5.2.tar.gz -C /usr/src [[email protected] ~]# tar zxf apr-util-1.5.4.tar.gz -C /usr/src #以下开始安装apache所需依赖包 [[email protected] ~]# cd /usr/src/apr-1.5.2/ [[email protected] apr-1.5.2]# ./configure --prefix=http://www.mamicode.com/usr/local/apr && make && make install [[email protected] apr-1.5.2]# cd ../apr-util-1.5.4/ [[email protected] apr-util-1.5.4]# ./configure --prefix=http://www.mamicode.com/usr/local/apr-util --with-apr=http://www.mamicode.com/usr/local/apr && make && make install [[email protected] zlib-1.2.8]# cd ../zlib-1.2.8/ [[email protected] zlib-1.2.8]# ./configure --prefix=http://www.mamicode.com/usr/local/zlib && make && make install [[email protected] pcre-8.39]# cd ../pcre-8.39/ [[email protected] pcre-8.39]# ./configure --prefix=http://www.mamicode.com/usr/local/pcre && make && make install [[email protected] pcre-8.39]# cd ../openssl-1.0.1u/ [[email protected] openssl-1.0.1u]# ./config -fPIC --prefix=http://www.mamicode.com/usr/local/openssl enable-shared && make && make install #依赖安装完成后,开始安装http服务 [[email protected] openssl-1.0.1u]# cd ../httpd-2.4.23/ [[email protected] httpd-2.4.23]# ./configure --prefix=http://www.mamicode.com/usr/local/http-2.4.23 --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=http://www.mamicode.com/usr/local/openssl --enable-rewrite --with-pcre=http://www.mamicode.com/usr/local/pcre --with-z=http://www.mamicode.com/usr/local/zlib --with-apr=http://www.mamicode.com/usr/local/apr --with-apr-util=http://www.mamicode.com/usr/local/apr-util -enable-modules=most --enable-mods-shared=most --enable-mpms-shared=all --with-mpm=event --enable-proxy --enable-proxy-fcgi --enable-expires --enable-deflate && make && make install [[email protected] httpd-2.4.23]# cd /usr/local/http-2.4.23/bin/ [[email protected] bin]# ln -sf /usr/local/http-2.4.23/bin/* /usr/local/bin/ #将apache的命令做软链接 [[email protected] bin]# apachectl start #启动apache服务,会提示以下信息,无所谓的。 #若想解决,只需在apache的主配置文件中添加域名即可 AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using fe80::c94:cd92:5c18:a1. Set the ‘ServerName‘ directive globally to suppress this message

关于安装apache服务时的配置项,相关解释如下:

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/39846.html