写作目标:
使用源码方式基于 LAMP 架构搭建 BBS 论坛或者博客
思考:
基础班使用 yum 工具搭建了 LAMP 的环境,为什么还要用源码包再搭建一次呢?
rpm 版本
安装方便,升级、卸载都灵活,很难或者无法定制主要组件的功能,适合批量部署
源码包编译 根据业务需求 定制 ,前提是需要对平台的功能需要非常了解;卸载、升级、安装并不是很方便灵
活
生产环境如何做?
上线前,在测试环境中编译安装并且调试完毕后,把编译后的源码同步到其余软硬环境一样的机器,直
接 make install 即可。
部署环境:linux centos 7.9
四、编译安装 Apache
1. 安装依赖包apr
说明:
在rhel6.5下直接编译安装apache的2.4系列版本,会报下面的错误:
checking for APR... configure: WARNING: APR version 1.4.0 or later is required, found 1.3.9
configure: WARNING: skipped APR at apr-1-config, version not acceptable
原因:表示系统自带的apr软件版本为1.3.9,但它需要1.4.0以上的版本。
解决方法:
第一种:把apache降为2.2系列,就OK了。
第二种:去下载新版本apr先编译,再编译apache调用它。(选择第二种)
安装apr软件:
# tar xf apr-1.5.2.tar.bz2 -C /usr/src/
# cd /usr/src/apr-1.5.2
# ./configure
# make
# make install
安装apr-util软件
问题:怎样将库文件的指定安装路径加入到ldconfifig命令的搜索列表里?
方法1:在/etc/ld.so.conf这个主配置文件里加上一行,写上让别人要查找库文件的路径
echo "/usr/local/apr/lib/" >> /etc/ld.so.conf
方法2:在/etc/ld.so.conf.d/目录下创建一个*.conf结尾的文件,里面加入该路径即可
# echo /usr/local/apr/lib/ > /etc/ld.so.conf.d/lamp.conf
# ldconfig 上面加入路径后,就使用此命令让其生效
2. 安装httpd软件
版本:httpd-2.4.12.tar.bz2
1.下载
2.解压
3.安装(解压目录)
配置:
[root@server httpd-2.4.12]# vim apache.sh
./configure \
--enable-modules=all \
--enable-mods-shared=all \
--enable-so \
//确认是否成功安装apache:
[root@server httpd-2.4.12]# ls /usr/local/apache2/
bin build cgi-bin conf error htdocs icons include logs man manual modules
注意:
确认这个目录产生后,说明apache编译安装成功
配置参数说明:
# ./configure \
--enable-modules=all \ 加载所有支持模块
--enable-mods-shared=all \ 共享方式加载大部分常用的模块
--enable-so \ 启动动态模块加载功能
--enable-rewrite \ 启用地址重写功能
(
1)prefork
多进程模型,每个进程响应一个请求
(
2)worker
多进程多线程模型,每个线程处理一个用户请求
(
3)event(最优)
事件驱动模型,多进程模型,每个进程响应多个请求