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

相关文章
|
9天前
|
中间件 Java 应用服务中间件
Windows部署web应用服务器Jboss中间件
如何在Windows系统上部署JBoss 7.1作为Web应用服务器,包括配置环境变量、自动部署WAR包、访问JBoss控制台、设置管理员账户以及修改端口和绑定地址等操作。
25 1
|
2天前
|
存储 数据挖掘 索引
服务器数据恢复—LeftHand存储结构和P4500存储数据恢复案例
LeftHand存储支持RAID5、RAID6、RAID10磁盘阵列,同时还支持卷快照,卷动态扩容等。下面简单聊一下LeftHand存储的结构和一个LeftHand p4500存储中磁盘阵列数据恢复案例。
服务器数据恢复—LeftHand存储结构和P4500存储数据恢复案例
|
4天前
|
存储 运维 Oracle
服务器数据恢复—光纤共享存储互斥出现问题的数据恢复案例
两台SOLARIS系统(SPARC平台)的服务器通过光纤交换机共享同一个存储作为CLUSTER使用。正常情况下只有A服务器工作。如果A服务器发生故障宕机,可将A服务器关机,开启B服务器接管。但由于配置不当导致共享存储互斥出现问题。 管理员进行运维检查时发现B服务器连接了一块未知磁盘。由于B服务器并未启用,处于闲置状态,所以管理员也将这块磁盘当作闲置的,于是在B服务器上将磁盘的某个分区做了newfs。没想到这块磁盘就是那个共享存储,执行操作没有多长时间A服务器就开始报警并宕机。
|
3天前
|
缓存 NoSQL 数据库
高性能Web服务器架构设计
【8月更文第28天】在当今互联网时代,网站的响应速度直接影响用户体验和业务成功率。因此,构建一个高性能的Web服务器架构至关重要。本文将从硬件配置、软件架构以及网络设置三个方面探讨如何提高Web服务器的性能,并提供一些实际的代码示例。
16 0
|
8天前
|
SQL 缓存 自然语言处理
实战案例1:基于C语言的Web服务器实现。
实战案例1:基于C语言的Web服务器实现。
52 14
|
3天前
|
运维 数据安全/隐私保护 数据库管理
企业实战项目之服务器用户权限集中管理
企业实战项目之服务器用户权限集中管理
|
1天前
|
JavaScript 前端开发 UED
服务器端渲染新浪潮:用Vue.js和Nuxt.js构建高性能Web应用
【8月更文挑战第30天】在现代Web开发中,提升应用性能和SEO友好性是前端开发者面临的挑战。服务器端渲染(SSR)能加快页面加载速度并改善搜索引擎优化。Vue.js结合Nuxt.js提供了一个高效框架来创建SSR应用。通过安装`create-nuxt-app`,可以轻松创建新的Nuxt.js项目,并利用其自动路由功能简化页面管理。Nuxt.js默认采用SSR模式,并支持通过`asyncData`方法预取数据,同时提供了静态站点生成和服务器端渲染的部署选项,显著提升用户体验。
|
2天前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
6 0
|
3天前
|
SQL 数据库 数据安全/隐私保护
服务器数据恢复—raid5阵列故障因操作不当导致数据无法恢复的案例
服务器数据恢复环境: 一台服务器中有一组由4块SCSI硬盘组建的raid5磁盘阵列,划分了一个逻辑卷,操作系统为WINDOWS SERVER,作为SQL SERVER服务器使用。 服务器故障: 运行过程中该服务器raid5磁盘阵列瘫痪,管理员检查服务器发现raid5阵列中已经有3块磁盘离线。管理员选择其中2块离线硬盘进行强制上线操作,强制上线后操作系统无法启动。使用WINPE光盘启动操作系统后,可以看到数据。
|
8天前
|
移动开发 网络协议 编译器
实战案例3:C语言实现的HTTP服务器
实战案例3:C语言实现的HTTP服务器
14 0
下一篇
云函数