企业Web服务器现场抓鸡案例分享| 学习笔记

简介: 快速学习企业Web服务器现场抓鸡案例分享。

开发者学堂课程【企业Web常用架构LAMP-LNMP实战企业Web服务器现场抓鸡案例分享】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/385/detail/4831


企业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

#secure (ssL/TLs)connections

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

#Note: The fo77owing must must be present to 

查看httpd-mpm.conf

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

serverLimit 20000

#启动apache,启用多少进程

Startservers 8

#指定最小空闲线程数

MinspareThreads 75

#指定最大空闲线程数

MaxspareThreads 250

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

ThreadsPerchild 25 

#最大处理的请求数

MaxRequestworkers 400 

#最大连接数

MaxConnectionsPerchild 0


二、企业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

相关文章
|
1月前
|
机器学习/深度学习 人工智能 运维
企业内训|LLM大模型在服务器和IT网络运维中的应用-某日企IT运维部门
本课程是为某在华日资企业集团的IT运维部门专门定制开发的企业培训课程,本课程旨在深入探讨大型语言模型(LLM)在服务器及IT网络运维中的应用,结合当前技术趋势与行业需求,帮助学员掌握LLM如何为运维工作赋能。通过系统的理论讲解与实践操作,学员将了解LLM的基本知识、模型架构及其在实际运维场景中的应用,如日志分析、故障诊断、网络安全与性能优化等。
60 2
|
22天前
|
存储 Oracle 关系型数据库
服务器数据恢复—EVA存储硬盘读写性能不稳定掉线的数据恢复案例
服务器存储数据恢复环境: 一台EVA某型号控制器+EVA扩展柜+FC磁盘。 服务器存储故障&检测: 磁盘故障导致该EVA存储中LUN不可用,导致上层应用无法正常使用。
90 47
|
21天前
|
数据挖掘 Linux 数据库
服务器数据恢复—reiserfs文件系统数据恢复案例
服务器数据恢复环境: 一台服务器中有一组由4块SAS硬盘组建的RAID5阵列,上层安装linux操作系统统。分区结构:boot分区+LVM卷+swap分区(按照顺序),LVM卷中划分了一个reiserfs文件系统作为根分区。 服务器故障: 服务器操作系统在运行过程中由于未知原因崩溃,管理员重装操作系统后发现分区结构变为:boot分区+swap分区+LVM卷(按照顺序),LVM卷中文件系统位置有个空的reiserfs超级块。 用户方需要恢复reiserfs文件系统中所有数据,包含数据库、网站程序与网页、OA系统中所有办公文档。
服务器数据恢复—reiserfs文件系统数据恢复案例
|
8天前
|
存储 Oracle 关系型数据库
服务器数据恢复—DS5300存储raid5阵列数据恢复案例
服务器存储数据恢复环境: 某单位一台某品牌型号为DS5300的服务器存储,1个机头+4个扩展柜,底层是2组分别由数十块硬盘组建的RAID5阵列。存储系统上层一共分了11个卷。 服务器存储故障&分析: 存储设备上一组raid5阵列上的2块磁盘出现故障,对应的硬盘指示灯亮黄灯,阵列崩溃,存储不可用。该组故障阵列上层存放的是Oracle数据库文件。
|
14天前
|
存储 运维 数据挖掘
服务器数据恢复—华为OceanStor存储数据恢复案例
服务器存储数据恢复环境: 华为品牌型号为OceanStor S2600T的存储设备,存储上有一组由24块4T容量的机械硬盘组建的RAID5阵列,作为存储池使用。 图1 服务器存储故障&检测: 存储设备中raid5阵列上多块硬盘出现故障离线,raid5阵列失效,数据无法正常访问。 关机后将存储中所有硬盘标记&取出,硬件工程师对所有硬盘进行硬件故障检测。经过检测,没有发现存在物理故障的磁盘,都可以正常读取。
|
15天前
|
存储 Linux
服务器数据恢复——使用fsck后Ext4文件系统挂载不上的数据恢复案例
关于Ext4文件系统的几个概念: 块组:Ext4文件系统的全部空间被划分为若干个块组,每个块组结构基本上相同。 块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,主要描述块位图、i-节点位图及i-节点表的地址等信息。 超级块(Superblock):用于存储文件系统的配置参数(块大小、总块数、i-节点数等)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块始于1024字节处,即2号扇区。 i节点:描述文件的时间、大小、块指针等信息。
|
24天前
|
存储 数据挖掘
服务器数据恢复—EqualLogic存储raid5阵列多块硬盘掉线的数据恢复案例
服务器存储数据恢复环境: 一台EqualLogic存储中有一组由16块SAS硬盘组建的RAID5阵列。上层划分了4个卷,采用VMFS文件系统,存放虚拟机文件。 服务器存储故障: 存储RAID5阵列中磁盘出现故障,有2块硬盘对应的指示灯亮黄灯,存储不可用,且存储设备已经过保。
|
23天前
|
存储 运维 数据挖掘
服务器数据恢复—EVA存储删除VDISK的数据恢复案例
服务器存储数据恢复环境: 某单位有一台EVA某型号存储主机+2个扩展柜,共12个FATA磁盘+10个FC磁盘,LUN数量不确定,操作系统为WINDOWS SERVER。该存储用来存放单位的历史案例审理材料。 服务器存储故障&检测: 该EVA存储出现故障,无法正常使用。而且经过几家数据恢复服务商的操作,具体故障原因已经无法确定。
|
3天前
|
存储 运维 Oracle
服务器数据恢复—raid5阵列+vxfs文件系统数据恢复案例
服务器存储数据恢复环境: 某品牌MSA2000FC存储中有一组由7块盘组建的RAID5阵列,另外还有1块硬盘作为热备盘使用。 基于RAID5阵列划分的几个LUN分配给小机使用,存储空间通过LVM管理,重要数据为Oracle数据库及OA服务端。 服务器存储故障: RAID5阵列中2块硬盘离线,唯一的热备盘成功激活,RAID5阵列还是变得不可用,上层LUN无法使用。
|
30天前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
47 3
下一篇
无影云桌面