`
lc_koven
  • 浏览: 352571 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

工作中遇到的apache问题

阅读更多
血的代价换来的对apache性能的理解:
简单来说,这次遇到两个问题:
1 mpm工作模式:目前最流行的模式是perfork(非线程)模式和worker(线程)模式
因为线程自身的问题,自然perfork比worker模式要安全,并且在简单的情况下具有更快的速度(减少了线程的开销),但是对于繁忙的应用,worker模式由于具有更低的内存消耗,所以能支撑更多的请求。
编译:
--with-mpm=work
httpd.conf:
<IfModule worker.c>
StartServers         32
MaxClients             6400
ServerLimit        100
MinSpareThreads    256
MaxSpareThreads       1024
ThreadsPerChild     64
MaxRequestsPerChild  100000
</IfModule>
这样,就限制了最多允许同时处理6400个请求,根据模块的不同,这个极限值还可以增加
而当使用perfork的时候,必须要修改apache的源码才能修改上限值
如果不做限制,apache会不停增加进程数,直至耗尽系统资源为止

2 一个自定义的module,原先是在32位下编译并运行的,由于32位解释long int的极限是32位,不满足需求,因此代码里用了long long int型。相当的打印为"%lld",
现换在64位机器上重新编译时,由于64位机器,编译long int 为64位,因此改为"%ld"即可。但是问题来了:
如果编译apache mod采用apxs来编译,则必须改为"%ld",如果继续采用"%lld",则如下代码:
unsigned char * idstr = apr_psprintf(r->pool,"%lld",id);
结果是:%ld
而不是id的真实值
如果采用gcc来编译,是不会有这个问题的,估计是apxs的一个bug
版本:apache2.2.9

这个bug....
分享到:
评论

相关推荐

    Apache2中文使用手册

    通过阅读这份指南,用户可以逐步熟悉Apache2的各个方面,并能解决实际工作中遇到的问题。 《Apache2中文使用手册》是一本实用的工具书,无论你是初学者还是经验丰富的管理员,都能从中受益,提升对Apache2的掌握...

    解决apache对含中文的url网址的支持问题(64位)

    在调整配置后,如果仍然遇到问题,可能需要检查其他相关配置,如`AddDefaultCharset`指令,确保服务器发送正确的字符集信息给客户端。例如: ```apacheconf AddDefaultCharset UTF-8 ``` 此外,还要确保你的网页...

    Apache2.0中文手册

    6. 实例分析:通过实际案例,展示如何在实际项目中应用Apache 2.0许可证,以及处理可能出现的法律问题。 7. 常见问题解答:针对使用者可能遇到的问题,提供清晰的解答,帮助快速理解和解决许可证相关疑惑。 除了主...

    Django项目部署在Apache遇到的问题及解决思路

    在这个过程中,可能会遇到各种问题,本文将详细探讨这些常见问题及其解决方法。 首先,Apache是流行的开源Web服务器,而Django是一个强大的Python Web框架。为了使两者协同工作,我们需要一个中间件,比如mod_...

    Apache2.2中文参考手册(chm版)

    此外,还会介绍如何启动、停止和重启Apache服务,以及解决安装过程中可能遇到的问题。 其次,**Apache服务器使用手册**部分深入解析了服务器的日常管理,如如何配置访问权限、设置重定向、启用URL重写功能等。这...

    Apache中文文档中文注解

    - 是Apache中非常强大的URL重写规则,常用于SEO优化和URL美化。 - 例如:`RewriteRule ^old/(.*)$ new/$1 [R=301,L]`表示将所有以`old/`开头的URL重定向到以`new/`开头的新URL。 #### 四、安全配置 1. **SSL/TLS...

    安装apache中文目录过程

    在本文中,我们将深入探讨如何在Linux环境下安装Apache并配置中文目录支持,同时解决在添加模块和使用mod_encoding模块过程中可能遇到的问题。Apache HTTP Server是一个广泛使用的开源Web服务器,其可扩展性和灵活性...

    apache端口占用问题解决办法

    在Windows XP系统上安装Apache 2的过程中,可能会遇到端口占用的问题。具体表现为Apache无法绑定到指定的端口(例如80端口),这通常是由于其他服务或应用程序(如IIS)已经在使用该端口。 错误提示信息通常为: ``...

    手动添加Apache服务

    当我们在Windows环境下遇到由于服务安装不正确所导致的问题时,手动添加Apache服务成为解决问题的有效手段之一。本文将详细介绍如何在Windows系统下手动添加Apache服务。 #### 一、准备工作 在开始手动添加Apache...

    apache 安装包

    配置过程中,你可能会遇到的一些常见问题包括端口冲突、权限问题、URL重写规则等。解决这些问题通常需要对httpd.conf文件进行适当的调整,或者添加额外的配置文件。 Apache支持许多插件和模块,例如mod_rewrite用于...

    apache for linux安装

    Apache HTTP Server,通常简称为Apache,是世界上最流行的Web...如果你在安装过程中遇到任何问题,可以查阅Apache官方文档或在线社区寻求帮助。记住,实践是提升技能的最好方式,祝你在使用Apache的过程中一切顺利!

    apache中文帮助文档

    14. **故障排除**:当遇到服务器问题时,如何阅读错误日志、使用命令行工具(如netstat和tcpdump)进行诊断。 15. **更新与升级**:了解如何安全地更新和升级Apache到最新版本,以获取最新的安全补丁和功能改进。 ...

    apache中文手册

    7. **故障排查**:当遇到问题时,手册会提供解决常见问题的步骤,包括配置错误、权限问题、模块冲突等。 8. **多平台兼容性**:Apache不仅在Linux和Unix系统上运行良好,也支持Windows等其他操作系统。手册会涵盖在...

    Windows下64位Apache-2.4.6

    **Apache在Windows 64位环境下的安装与配置** Apache HTTP Server是世界上最流行的Web服务器软件之一,它...记住,了解并熟练掌握Apache的配置和管理是运维工作中的重要一环,这将有助于提升服务器的稳定性和安全性。

    Apache2中文教程

    当遇到问题时,Apache2的错误日志是排查故障的重要资源。同时,使用命令行工具如`apachectl`或`httpd`的 `-t` 和 `-S` 选项可以检查配置文件的语法和服务器的模块配置。 总之,本“Apache2中文教程”将带你全面了解...

    Apache Web服务器配置与使用工作笔记

    - 错误日志记录了Apache运行过程中遇到的问题,默认情况下记录在`error_log`文件中。 - 可以通过`ErrorLog`指令指定错误日志的位置。 #### 七、Apache性能优化 1. **启用缓存** - 通过使用`mod_expires`模块...

    linux安装Apache,apache安装包,内含相关安装包

    在开始安装Apache之前,请确保你的系统已经更新到最新版本,因为这有助于避免安装过程中遇到已知问题: ```bash # 对于基于apt的系统 (Debian/Ubuntu) sudo apt update sudo apt upgrade # 对于基于yum的系统 ...

    Apache中文手册20

    11. **故障排查**:提供常见问题的解决方案,帮助用户解决Apache运行中遇到的问题。 12. **模块开发**:对那些希望自定义模块的开发者,手册可能包含模块开发的基础知识和步骤。 通过深入阅读和实践"Apache中文...

    apache2.2中文使用手册

    1. 日志文件:Apache可以生成两种日志,访问日志(access.log)记录所有请求,错误日志(error.log)记录服务器遇到的问题。 2. 日志格式:通过CustomLog指令自定义日志格式,如 `%h %l %u %t \"%r\" %&gt;s %b`。 3. ...

    Win2003中apache2整合tomcat5和iis6文档

    在Windows Server 2003操作系统中,有时我们需要同时运行IIS(Internet Information Services)和...需要注意的是,配置过程中可能会遇到各种问题,如端口冲突、路径设置错误等,需要仔细检查并根据日志信息进行调试。

Global site tag (gtag.js) - Google Analytics