2022
我们一起努力

编译安装apache

./configure –prefix=/application/apache.2.2.27/  \      //安装时指定安装位置

–enable-deflate  \                  //对传输文件进行压缩

–enable-expires  \                  //浏览器缓存

–enable-headers  \                 //激活http头部

–enable-modules=most  \      //加载apache模块

–enable-so  \                          

–with-mpm=worker  \            //选择apache的工作模式(支持高并发worker)

–enable-rewrite                      //伪静态

apache有三种运行模式:
1, prefork MPM;

2, worker MPM;
3, perchild MPM.

 

prefork MPM
管理员应选择prefork
MPM来实施基于流程的Web服务器。虽然基于流程的服务器有一些速度较慢的性能,它们通过模块来提供稳定性和兼容性,这些模块不支持线程。为了改进性能,服务器的父流程fork多个子流程并使它们能够用于应答请求。当接收到请求时,服务器把其分配给子流程。如果没有子流程可用,服务器创建新的子流程并把它添加到库中。但是,子流程的创建会导致延迟。当配置这一MPM时,管理员可以限制启动时可以创建的子流程数、最大的子流程数等。这一MPM有利于形成一个稳定的Apache服务器,但同时会影响性能和占用内存,因为单个流程的大小会占很大一部分。

The worker MPM

编译安装apache

为了实施混合服务器,管理员可以选择worker
MPM,它提供比prefork
MPM更卓越的可靠性、故障恢复能力和可扩展性。启动时父流程创建规定数量的子流程,反过来每个子流程包含多个线程。每个子流程中只有一个线程聆听网络,它简化了程序代码,减少了流程之间的协作,从而提高性能。虽然这一MPM稳定且性能优于prefork,由于它是基于线程,与其一同使用的所有模块都必须是完全的线程-安全。大多数Apache
1.3模块不是线程安全,并且由于worker
MPM不向后兼容,因此,使用这一MPM的管理员也不能一同使用Apache 1.3模块和Apache 2.0。但是使用prefork
MPM来编译服务器允许管理员使用Apache 1.3模块。

The perchild MPM
如果遇到这样一种情况,考虑到安全性和性能,需要Apache流程基于不同的用户ID来运行,管理员可以使用perchild
MPM
来编译混合服务器。互联网服务供应商(ISP)通常使用这一MPM来实现虚拟托管。当perchild启动时,它创建规定数量的流程,每个流程有规定数量的线程和专用的用户ID。如果服务器上的负载增加,它使用现有流程之一来创建新线程,而不是创建新流程。这种MPM是最可扩展,但也最不可靠。

在安装好mysql,apache,php后需要将apache和php进行关联,修改/aaplication/apache/conf/httpd.conf

<IfModule dir_module>
    DirectoryIndex html.php index.html    添加index.php的主页。
</IfModule>

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .phtml    添加最后两行,添加php解析
AddType application/x-httpd-php-source .phps

User www         修改默认的用户名密码,使系统更安全。
Group www

赞(0)
文章名称:《编译安装apache》
文章链接:https://www.fzvps.com/55207.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!