apache汇总
1. apache安装
yum install httpd -y (-y代表全自动安装,安装过程中自动选择y,无需手动选择)
service httpd start(启动)
chkconfig httpd on(设为开机启动)
yum remmove httpd(卸载apache)
[备注]安装前先用 rpm -q httpd 检查本机是否安装了apache
手动安装
tar xvf xxx.tar.gz
./configure –prefix=/usr/local/apache2 –enable-cache –enable-disk-cache -enable-mem-cache –enable-file-cache –with-ssl –enable-ssl –enable-so –enable-mime-magic –enable-mods-shared=most –with-mpm=worker
make
make install
安装成功。
查看apache的工作模式:httpd -l (默认为prefork模式)
切换apache的工作模式(从prefrok切换到worker)
第一步:进入/usr/sbin目录
cd /usr/sbin
第二步:将当前的prefork模式启动文件改名
mv httpd httpd.prefork
将worker模式的启动文件改名
mv httpd.worker httpd
第三步:重启apche
2. apache的主要文件及说明:
apache_httpd.conf
httpd-default.conf
httpd-mpm.conf
3. apache参数说明
4. apache的两种工作模式
prefork模式:非线程,预派生
worker工作模式:进程和线程混合工作模式
5. 进程和线程的比较
进程比线程快,进程比线程效率高。
进程不支持大并发,因为进程消耗内存太多。但线程可支持大并发。。
进程比线程安全,因为一个进程下有多个线程,一旦一个线程坏了,就意味着整个进程坏了,
这个线程就影响了该进程下的线程,所以线程不安全,进程安全。
6. apache参数
1个正在运行 74个等待(74=3*25-1)
<IfModule worker.c>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 250
ThreadsPerChild 25
</IfModule>
1 149
<IfModule worker.c>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 250
ThreadsPerChild 25
</IfModule>
1 99
<IfModule worker.c>
StartServers 3
MinSpareThreads 75
MaxSpareThreads 75
ThreadsPerChild 25
</IfModule>
MinSpareThreads和MaxSpareThreads线程数相等时,MaxSpareThreads失效,默认值为MinSpareThreads+1
1 49
<IfModule worker.c>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 50
ThreadsPerChild 25
</IfModule>
刚开始 1 74 ,但是MaxSpareThreads不满足, 杀死一个进程 所以为74-25, 结果为1 49
1 49
<IfModule worker.c>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 49
ThreadsPerChild 25
</IfModule>
1 49
<IfModule worker.c>
StartServers 3
MinSpareThreads 25
MaxSpareThreads 48
ThreadsPerChild 25
</IfModule>
杀到MinSpareThreads不够为止
7. apache调优原则:
1. 尽量让最小的线程数能满足基础值
2. 尽量让最大的线程数能满足高峰值
8. 检查中间件的实质:
监控中间件的进程池和线程池,是不是属于繁忙状态。
如果属于繁忙状态,说明进程池线程池不够用 需增加进程
如果进程池线程池有大量的空闲,则需减小进程池线程池的大小
9. apache调优
1. 参数调整
2. 不要频繁启杀进程
3. 长连接
4. 开启GZIP压缩
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/191329.html