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

相关文章
|
4天前
|
数据可视化 Shell Linux
shell+crontab+gitlab实现ecs服务器文件的web展示
本文通过把ecs服务器上的文件定时上传至gitlab,实现文件的页面可视化和修改历史。技术点:shell、crontab、gitlab。
28 3
|
23天前
|
负载均衡 应用服务中间件 API
什么是 Web 服务器领域的 openresty
什么是 Web 服务器领域的 openresty
29 0
|
27天前
|
存储 运维 应用服务中间件
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
[运维日志] Web 服务器日志依日期归档(Powershell 实现,附源代码)
52 0
|
2天前
|
前端开发 JavaScript Java
利用Java Web技术实现实时通信系统的案例分析
利用Java Web技术实现实时通信系统的案例分析
|
2天前
|
存储 算法 关系型数据库
【服务器数据恢复】服务器raid6磁盘阵列数据恢复案例
一台网站服务器中有一组由6块磁盘组建的RAID6磁盘阵列,操作系统层面运行MySQL数据库和存放一些其他类型文件。
|
3天前
|
存储 Unix 关系型数据库
【服务器数据恢复】FreeNAS数据恢复案例
一台服务器通过FreeNAS(本案例使用的是UFS2文件系统)实现iSCSI存储,整个UFS2文件系统作为一个文件挂载到ESXi虚拟化系统(安装在另外2台服务器上)上。该虚拟化系统一共有5台虚拟机,其中有3台虚拟机中的数据比较重要:一台虚拟机上部署了ASP.net+SqlServer和PHP+mysql;第二台虚拟机安装的FreeBSD,部署了MySQL数据库;第三台虚拟机存放的是代码数据。
【服务器数据恢复】FreeNAS数据恢复案例
|
5天前
|
负载均衡 JavaScript 应用服务中间件
强大的WEB服务器-Nginx
强大的WEB服务器-Nginx
14 0
|
17天前
|
存储 运维 数据挖掘
【服务器数据恢复】断电导致服务器RAID故障的数据恢复案例
某品牌服务器中有一组由数块SAS硬盘组建的RAID5磁盘阵列,服务器操作系统是WINDOWS SERVER,服务器中存放企业数据,无数据库文件。 服务器出故障之前出现过几次意外断电的情况,服务器断电重启后没有发现异常,直到最后一次断电重启后RAID报错:“无法找到存储设备”,进入RAID管理模块后进行任何操作都会死机,服务器管理员多次重启服务器仍然无法进入系统。为了防止服务器内数据丢失,管理员联系我们数据恢复中心寻求帮助。
|
19天前
|
Kubernetes 应用服务中间件 nginx
K8S Pod Sidecar 应用场景之一 - 加入 NGINX Sidecar 做反代和 web 服务器
K8S Pod Sidecar 应用场景之一 - 加入 NGINX Sidecar 做反代和 web 服务器
|
20天前
|
算法 应用服务中间件 网络安全
苹果 ATS 合规对 Web 服务器的影响
苹果 ATS 合规对 Web 服务器的影响