企业Web服务器现场抓鸡案例分享

简介: 一、apache 一些优化思路和技巧二 、抓鸡

企业Web服务器现场抓鸡案例分享


目录:

一、apache 一些优化思路和技巧

二 、抓鸡

 

一、apache一些优化思路和技巧

1.Apache常用运行模式

 

(1)Perfork:进程级别模式

工作原理是,控制进程在最初建立“StartServers”个子进程后,为了满足MinSpareServers设置的需要创建一个进程,等待一秒钟,继续创建两个,再等待一秒钟,继续创建四个……如此按指数级增加创建的进程数,最多达到每秒32个,直到满足 MinSpareServers设置的值为止。这就是预派生(prefork)的由来。这种模式可以不必在请求到来时再产生新的进程,从而减小了系统开销以增加性能。

 

(2)worker:线程模式

worker使用了多进程和多线程的混合模式,worker模式也同样会先预派生一些子进程,然后每个子进程创建一些线程,同时包括一个监听线程,每个请求过来会被分配到一个线程来服务。线程比起进程会更轻量,因为线程是通过共享父进程的内存空间,因此,内存的占用会减少一些,在高并发的场景下会比prefork有更多可用的线程,表现会更优秀一些,多进程加多线程模式

 

(3)event:事件模式

解决了keep-alive长连接的时候占用线程资源被浪费的问题,在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程,当有真实请求过来的时候,将请求传递给服务器的线程,执行完毕后,又允许它释放。这增强了在高并发场景下的请求处理。

当某个连接没有请求时,会主动关闭连接,在work模式下,必须等keep-alive超时,才可以释放。

测试开发过程,不建议使用

注意:根据业务场景选择模式

业务量大,cup消耗大->使用worker模式,处理性能高

 

2.   查看Apache模式

[root@7oca7host htdocs]#7s

index.htm1_.info.phpmysqli.phpmysq1-pdo.php mysq1.php

[root@i7ocalhost htdocs]#.cd --

[root@7ocalhostapache2]#1s

Bin bui1d cgi-bin conf erro htdocs log

[root@7ocaThost apache2]#pwd

/usr/local/apache2

[root@7ocaThost apache2] #bin/httpd -l

Core.c

Mod_so.c

http_core.c

Worker.c

Apache编译进去是worker模式运行

 

 

切换另一台:perfork模式

对内存要求大

[root@hadoop apache2]# cd bin
[root@hadoop  bin]# ls
[root@hadoop bin]# . /httpd -1
Compiled in modules:
core .c
Prefork.c

http_so.c


打开httpd.conf

#Real-time info on requests and configuration#nclude conf/extra/ httpd-info.conf

#virtua7 hosts..

#nc1ude conf/extra/httpd-vhosts.conf

#Local ackess to the Apache HTTPServer Manua1#Include conf/extra/httpd-manua7.conf

#Distributed authoring and versioning (webDAv)#nclude conf/extra/ httpd-dav.conf

various default settings .

#Include conf/extra/httpd-defau1t.conf

#configure mod_proxy_htm1 to understand HTML4/XHTML1<fModuTe proxy_html_module>_

Include conf/extra/proxy -html.conf</fModu 7e>

#secure (ssL/TLs)connections

#ncTude conf/extra/httpd-ss1.conf#

#Note: The fo77owing must must be present to

 

查看httpd-mpm.conf

<IfModu7e mpm__worker mo>

 

#最大服务端请求连接,默认256,量大满足不了

serverLimit 20000

 

#启动apache,启用多少进程

Startservers 8

 

#指定最小空闲线程数

MinspareThreads 75

 

#指定最大空闲线程数

MaxspareThreads 250

 

#每一个进程并发最大线程个数

ThreadsPerchild 25

 

#最大处理的请求数

MaxRequestworkers 400

 

#最大连接数

MaxConnectionsPerchild 0

</IfModu1e>



二、企业web服务器现场抓鸡案例

image.png

查看服务器寻找异常

应用环境:apache+jk+tomcat

网站:电商类

异常:僵死进程

服务器进程freeDSB异常进程,模拟正常进程就可能是异常

Sb33进程

998进程

所有异常进程都是mysql进程,就代表是中毒了

Perl:漏洞异常进程

109ma进程

Sbaok进程

 

服务器中木马,接网就会断开,由一个进程入手解决,通过业务入手。

排查异常:

#进入目录apache

[root@i-465-39832-M apache]# Is

 

#查找隐藏文件

 

#查看cgi-bin

Test-cgi

 

查看apache配置文件,查看是否启用cgi

LoadModu1eheaders_module modu1es/mod_headers.soLoadModu1eident_modu1e modu1es /mod_ident.so

LoadModule usertrack_module modules/mod_usertrack. soLoadModuleunique_id_module modules/mod_unique_id.soLoadModulesetenvif_module modules/mod_setenvif.soLoadModuleversion_modu1e modu1es/mod_version.soLoadModu1emime_modu1e modules/mod_mime . so

LoadModu1e dav_modu1e modu1es/mod_dav.so

LoadModule status_modu1e modules/mod_status.so

LoadModule autoindex_module_modu1es/mod_autoindex.soLoadModule asis_modu1e modules/mod_asis.so

LoadModule info_module modu1es/mod_info. soLoadModule cgi_module modu1es/mod_cgi.so

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModulevhost_alias_module modules/mod_vhost_alias.soLoadModule negotiation_module modules/mod_negotiation.soLoadModu1edir_modu1e modu1es/mod_dir.so

LoadModuleimagemap_module modules/mod_imagemap.soLoadModuleactions_module modu1es/mod_actions.soLoadModulespe1ing_module modules/mod_spe1ing.soLoadModuleuserdir_module modules/mod_userdir.soLoadModulealias_module modu1es/mod_alias.so

LoadModule rewrite_module modules /mod_rewrite.so

相关文章
|
11天前
|
XML 网络协议 Java
JavaWeb -- HTTP -- WEB服务器TOMCAT
JavaWeb -- HTTP -- WEB服务器TOMCAT
|
11天前
|
存储 数据挖掘 数据库
服务器数据恢复—EMC Isilon存储数据恢复案例
服务器存储数据恢复环境: EMC Isilon S200集群存储,共三个节点,每节点配置12块SATA硬盘。 服务器存储故障: 工作人员误操作删除虚拟机,虚拟机中数据包括数据库、MP4、AS、TS类型的视频文件等。需要恢复数据的虚拟机通过NFS协议共享到ESX主机,视频文件通过CIFS协议共享给虚拟机(WEB服务器)。 通过NFS协议共享的所有数据(虚拟机)被删除,而通过CIFS协议共享的数据没有被删除。
服务器数据恢复—EMC Isilon存储数据恢复案例
|
10天前
|
JavaScript 前端开发 安全
怎样用Node.js搭建web服务器
本文探讨了如何使用Node.js构建高效的HTTP服务器。首先,介绍了HTTP常见请求方法,如GET、POST、PUT等。接着,展示了如何使用Node.js的`http`模块创建服务器,并根据请求方法进行不同处理,如判断GET和POST请求,以及获取GET请求参数和处理POST请求数据。最后,讨论了服务器代码的模块化管理,包括路由管理和业务逻辑拆分,以提升代码的维护性和扩展性。通过本文,读者可以掌握基础的Node.js服务器开发及模块化设计技巧。
|
3天前
|
存储 数据挖掘 索引
服务器数据恢复—服务器存储中文件夹丢失的数据恢复案例
服务器存储数据恢复环境: DroboPro FS网络存储,共8块SAS硬盘,组建了一组raid5磁盘阵列。 服务器存储故障: 存储中有一个共享文件夹丢失,该文件夹存放了重要数据。
服务器数据恢复—服务器存储中文件夹丢失的数据恢复案例
|
10天前
|
存储 文件存储 索引
服务器数据恢复—OceanStor存储数据恢复案例
华为OceanStor某型号存储。工作人员在上传数据时发现该存储上一个NAS卷数据丢失,管理员随即关闭系统应用,停止上传数据。这个丢失数据的卷中主要数据类型为office文件、PDF文档、图片文件(JPG、JPEG、PNG等)、视频文件(MP4、AVI等)、音频文件(MP3等)。
服务器数据恢复—OceanStor存储数据恢复案例
|
2天前
|
JSON API 数据库
Python使用Quart作为web服务器的代码实现
Quart 是一个异步的 Web 框架,它使用 ASGI 接口(Asynchronous Server Gateway Interface)而不是传统的 WSGI(Web Server Gateway Interface)。这使得 Quart 特别适合用于构建需要处理大量并发连接的高性能 Web 应用程序。与 Flask 类似,Quart 也非常灵活,可以轻松地构建 RESTful API、WebSockets、HTTP/2 服务器推送等。
|
4天前
|
存储 运维 数据挖掘
服务器数据恢复—raid5热备盘同步失败导致阵列崩溃的数据恢复案例
某品牌DS5300存储,包含一个存储机头和多个磁盘柜,组建了多组RAID5磁盘阵列。 某个磁盘柜中的一组RAID5阵列由15块数据盘和1块热备硬盘组建。该磁盘柜中的某块硬盘离线,热备盘自动替换并开始同步数据,在热备硬盘同步数据的过程中,又有一块硬盘出现问题离线,数据同步失败,该RAID5阵列失效,卷无法挂载访问。
|
6天前
|
存储 运维 小程序
服务器数据恢复—EMC CX4-480存储中riad5数据恢复案例
服务器存储数据恢复环境: EMC CX4-480存储,该存储中有10块硬盘,其中有3块磁盘为掉线磁盘,另外7块磁盘组成一组RAID5磁盘阵列。运维人员在处理掉线磁盘时只添加新的硬盘做rebuild,并没有将掉线的硬盘拔掉,所以存储中有3块掉线的磁盘。 服务器存储故障: 硬盘出现故障离线导致存储中raid5阵列瘫痪。运维人员联系我们数据恢复中心寻求帮助。
|
7天前
|
Linux KVM 数据库
服务器数据恢复—EXT4文件系统下误删除虚拟机数据恢复案例
服务器数据恢复环境&故障: 1台服务器,Linux操作系统+EXT4文件系统,部署了数台KVM虚拟机,每台虚拟机包含一个qcow2格式的磁盘文件,和一个raw格式的磁盘文件。 工作人员操作失误删除了3台服务器上的KVM虚拟机,需要恢复raw格式的磁盘文件。
服务器数据恢复—EXT4文件系统下误删除虚拟机数据恢复案例
|
4天前
|
JavaScript 前端开发
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
杨校老师课堂之Web前端JS类库_JQuery案例[效果图与代码齐全]
12 0