架构篇---1---Apache的安装与部署

Apache的安装与部署

检查是否安装rpm包httpd

rpm -a httpd \\查看是否安装

rpm -e httod --nodeps \\ 卸载已经安装的httpd

安装前提软件

把软件复制到虚拟机的/usr/src目录下或直接下载到虚拟机

如果编译安装无法执行,可能是开发软件工具没有安装,需要先安装开发软件:命令如下

yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

编写脚本安装前提软件:

mkdir /sh
cd /sh
vim qianti.sh

添加:

#!/bin/bash ​ cd /usr/src ​ tar zxf apr-1.5.2.tar.gz ​ cd apr-1.5.2 ​ ./configure --prefix=/usr/local/apr && make && make install

#这是用gzip的方式解压,在进行编译安装

cd .. ​ tar zxf apr-util-1.5.4.tar.gz ​ cd apr-util-1.5.4 ​ ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

#这是用gzip的方式解压,在进行编译安装

​ cd …
​ yum -y install zlib-*

​ tar zxf pcre-8.39.tar.gz
​ ./configure --prefix=/usr/local/pcre && make && make install

#这是直接用yum源下载,在编译按装

​ cd …
​ tar zxf openssl-1.0.1u.tar.gz
​ cd openssl-1.0.1u
​ ./config -fPIC --prefix=/usr/local/openssl enable-shared && make && make install

保存退出
执行qianti.sh脚本:

chmod +x qianti.sh \\给脚本增加x权限

sh qianti.sh \\执行脚本

安装Apache主程序

cd /sh \\进入是目录

vim httpd.sh \\编写httpd.sh

添加:

#!/bin/bash cd /usr/src tar zxf httpd-2.4.25.tar.gz cd httpd-2.4.25 ./configure --prefix=/usr/local/httpd --enable-so --enable-cgi --enable-cgid --enable-ssl --with-ssl=/usr/local/openssl --enable-rewrite --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/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

#这是用gzip的方式解压,在进行编译安装]

保存退出

优化链接

ln -s /usr/local/httpd/bin/* /usr/local/bin
这是为了叫系统更加快捷找到所创建的链接。
添加系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

vim /etc/init.d/httpd
定位到第二行:修改为

chkconfig: 35 85 15 \\声明服务启动级别,开机启动顺序,关机关闭顺序

description: apache 2.4.25 \\服务声明,简要信息

保存退出
chkconfig --add httpd \\添加httpd到系统服务
chkconfig httpd on \\设置服务开机自启(等同于:systemctl enable httpd)
systemctl start httpd \\开启服务(等同于:service httpd start)

查看httpd模块

httpd -V \\查看版本和已装模块
ttpd -l \\只查看静态编译模块
httpd -M \\查看所有模块

MPM(Multi Process Modules):多进程处理模块

负责实现网络监听、请求的处理等功能,目的为了在不同的平台上实现最优化的性能和稳定性。

操作系统平台MPM
BeOSbeos
NetWarempm_netware
OS/2mpm_os2
linuxprefork、worker、event
Windowsmpm_winnt
prefork模式:

非线程、预生成进程型MPM,一个子进程同一时间点仅能处理一个用户请求,根据并发请求数动态调整子进程
worker模式:
线程化、多进程型MPM,每个进程可生成多个线程,每个线程处理一个请求,缺点:长连接,资源容易被占用**
event模式:
worker的改进版,使用监控线程处理长连接出现的资源占用问题**

修改mpm配置文件

vim /usr/local/httpd/conf/extra/httpd-mpm.conf
<IfModule mpm_event_module>
StartServers 3 \\apache 启动时候默认开始的子进程数
MinSpareThreads 75 \\最小空闲数量的工作线程
MaxSpareThreads 250 \\最大空闲数量的工作线程
ThreadsPerChild 25 \\每个子进程产生的线程数量
MaxRequestWorkers 400 \\允许同时的最大接入请求数量
MaxConnectionsPerChild 0 \\每个子进程可处理的请求数

</IfModule>

使用ab命令进行压力测试

yum -y install httpd-tools
ab -c 160 -n 10000 http://192.168.1.102/index.html
使用ab压力测试命令进行160人并发访问,发出10000个请求。

<–仅供参考!–>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值