Centos7安装apache2.4.6,Apache调优及设置虚拟机

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: Apache2.2安全配置和性能优化主要修改配置文件1、Apache禁止遍历目录将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止Apache显示该目录结构。
Apache2.2安全配置和性能优化
主要修改配置文件
1、Apache禁止遍历目录
将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止Apache
显示该目录结构。Indexes 的作用就是当该目录下没有index.html文件时,就显示目录结构。

二、apache 隐藏版本信息

1.隐藏Apache版本信息
测试默认apache 的状态信息
[root@1314it conf]# curl -Is localhost
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 04:20:15 GMT
Server: Apache/2.2.3
(CentOS) DAV/2 PHP/5.1.6
mod_perl/2.0.4
Perl/v5.8.8
X-Powered-By: PHP/5.1.6
Connection: close
Content-Type: text/html;
charset=GB2312

修改主配置文件httpd.conf,将下面两行添加到配置文件的末尾
ServerSignature Off
ServerTokens ProductOnly
重启apache

测试
测试隐藏版本号后apache 的状态信息
[root@1314it conf]# curl -Is localhost
HTTP/1.1 200 OK
Date: Tue, 16 Nov 2010 04:21:41 GMT
Server: Apache
X-Powered-By: PHP/5.1.6
Connection: close
Content-Type: text/html; charset=GB2312
三、关闭trace-method
配置文件添加一行
TraceEnable off
四、Apache并发数调整
查看Apache的工作模式:apache -l
如果出现prefork.c,则是工作在prefork模式下
查看当前的连接数:
ps aux|grep httpd|wc -l
pgrep httpd|wc -l
计算httpd占用内存的平均数:
ps aux|grep -v grep|awk '/httpd/{sum+=$6;n++};END{print sum/n}'
使用ulimit -n 65535 增加文件打开数量

# prefork MPM
# StartServers:启动时服务器的进程数
# MinSpareServers:保有的备用进程的最小数目
# MaxSpareServers:保有的备用进程的最大数目
# MaxClients:服务器允许启动的最大进程数
# MaxRequestsPerChild:一个服务进程允许的最大请求数
<IfModule prefork.c> // 设置使用预生派(Prefork MPM)运行方式的参数,此方式是Redhat默认的方式
StartServers 8 // 设置服务器启动时运行的进程数为8
MinSpareServers 5 // 如果低于5个空闲子进程,就会创建新的子进程为客户提供服务
MaxSpareServers 20 // 如果存在高于20个空闲子进程,就创建逐一删除的子进程来提高系统性能
MaxClients 150 // 限制同一时间连接数不能超过150
MaxRequestPerChild 1000 // 限制每个子进程在结束请求之前能处理的连接请求为1000
</IfModule>

# worker MPM
# StartServers:启动时的服务进程数目
# MaxClients:允许同时连接的最大用户数目
# MinSpareThreads:保有的最小工作线程数目
# MaxSpareThreads:允许保有的最大工作线程数目
# ThreadsPerChild:每个服务进程中的工作线程常数
# MaxRequestsPerChild:服务进程中允许的最大请求数目
<IfModule worker.c> // 设置使用工作者模式(worker MPM)运行方式的参数
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>

# perchild MPM
# NumServers:服务进程数量
# StartThreads:每个服务进程中的起始线程数量
# MinSpareThreads:保有的最小线程数量
# MaxSpareThreads:保有的最大线程数量
# MaxThreadsPerChild:每个服务进程允许的最大线程数
# MaxRequestsPerChild:每个服务进程允许连接的最大数量
<IfModule perchild.c> // 设置使用独立子进程(Perchild MPM)运行方式的参数
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>

用户敲下一个域名访问服务器的过程是如何进行的?
这是DNS解析的问题。
首先客户的服务器会检查自己的缓存,如果有对应的ip,
则直接返回ip,客户使用ip去访问服务器,与服务器进行TCP三次握手,
三次握手建立完毕,发送HTTP数据请求到服务器,服务器进行响应。
如果没有,则请求会发往本地DNS服务器,本地的DNS服务器负责解析,
如果没有对应ip,发起迭代查询,直到查询到所需的ip地址,
然后再使用ip去访问服务器,进行tcp三次握手,三次握手建立完毕后,
发送http请求,服务器进行响应。



查看原文:http://www.chenqmc.com/?p=343
相关文章
|
13天前
|
消息中间件 监控 大数据
优化Apache Kafka性能:最佳实践与调优策略
【10月更文挑战第24天】作为一名已经对Apache Kafka有所了解并有实际使用经验的开发者,我深知在大数据处理和实时数据流传输中,Kafka的重要性不言而喻。然而,在面对日益增长的数据量和业务需求时,如何保证系统的高性能和稳定性成为了摆在我们面前的一个挑战。本文将从我的个人视角出发,分享一些关于如何通过合理的配置和调优来提高Kafka性能的经验和建议。
41 4
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
100 64
|
1月前
|
存储 安全 Linux
CentOS安装SeaweedFS
通过上述步骤,您应该能够在CentOS系统上成功安装并启动SeaweedFS。记住,根据实际部署规模和需求,可能还需要进一步调整配置参数和优化网络布局。SeaweedFS的灵活性和扩展性意味着随着使用深入,您可能需要探索更多高级配置和管理策略。
110 61
|
1天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。
|
2天前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第7天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统要求检查与准备、配置安装源、安装 SQL Server 2019、配置 SQL Server 以及数据库初始化(可选)。通过这些步骤,你可以成功安装并初步配置 SQL Server 2019,进行简单的数据库操作。
|
25天前
|
Linux 网络安全 数据安全/隐私保护
Linux系统之Centos7安装cockpit图形管理界面
【10月更文挑战第12天】Linux系统之Centos7安装cockpit图形管理界面
53 1
Linux系统之Centos7安装cockpit图形管理界面
|
9天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
32 3
|
10天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
20 2
|
1月前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
103 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
12天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
52 2
下一篇
无影云桌面