
web服务器技术
文章平均质量分 57
xuxuer
这个作者很懒,什么都没留下…
展开
-
为Apache动态增加模块
Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装2. 编译模块为SO文件,使用LoadModule指令加载扩展模块。 这里只讲第二个方法 情景:现在需要启用Apache的deflate模块,即压缩输出,以加快网站下载,节省网络带宽服务器 Red Hat AS 4 Aapache安装...2010-03-22 19:41:39 · 183 阅读 · 0 评论 -
构造HTTP请求Header实现“伪造来源IP”
构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以伪造数据包来源 IP ,但这会让发送出去的数据包有去无回,无法实现正常的通信。这就像我们给对方写信时,如果写出错误的发信人地址,而收信人按信封上的发信人地址回信时,原发信人是无法收到回信...2012-08-27 11:25:57 · 4090 阅读 · 1 评论 -
配置Apache返回400状态[禁止使用ip直接访问apache]
网监要求直接用ip访问web服务器时返回400状态,网上查询了很多文章,均没有找到有效的解决办法。 苦思未解决,于是灵机一动,可使用php与apache的地址重写功能实现,非常简单: 1. 新建立一个默认主机,即出现在所有<VirtualHost *:80>最重要的<VirtualHost *:80> ServerName x.x.x Doc...2012-08-20 18:16:37 · 1689 阅读 · 0 评论 -
PHP 5.3.6及以前版本的PDO的bindParam,bindValue潜在的安全隐患
PHP 5.3.6及以前版本的PDO的bindParam,bindValue潜在的安全隐患 使用PDO的参数化查询时,可以使用bindParam,bindValue为占位符绑定相应的参数或变量, 我们往往使用如下格式:$statement->bindParam(1, $string);$statement->bindParam(2, $int, PDO::...2013-04-26 11:38:32 · 165 阅读 · 0 评论 -
php 5.4 APC invalid pointer报错的解决办法
为什么要使用APC ? 经过一些压力测试(使用apache ab工具),得出以下结果: 1. 使用ab发起相同请求参数,启用APC后,服务器负载降低一半,也就是说启用APC后,服务器负载能力提升约2倍。 2. 启用APC后,脚本执行速度约有20%-30%提升,这也是使用ab的测试报告总结。 3. 我曾经在生产环境使用第三方的缓存,如xcache, eAcceler...2013-04-12 15:58:31 · 482 阅读 · 0 评论 -
YII动态模型(动态表名)支持
给YII框架增加动态模型支持Yii框架中的数据模型使用静态机制,如果要使用模型方式操作某张数据表,就必须得事先创建数据表对应的模型类(位于protected/models目录下),这种方式,在有的情况下给我们的工作带来了一些不便,如仅仅将数据表进行显示,或者数据表是动态生成的,或者要实现数据表模型中的读写分离,(如数据写入与数据呈现逻辑可能定义到...2012-03-24 23:51:17 · 790 阅读 · 0 评论 -
配置varnish缓存对象的体积大小限制
对于使用过squid的朋友来说,其存在相应的配置项,可忽略体积过大的对象被缓存。同样在varnish中也存在这种需求,但varnish并未提供现成的配置,需要我们手工配置VCL以实现。原理:对于静态文件,web服务器会在header中返回 Content-Length,标识出当前资源的体积大小(以字节计算),这也就是一些下载工具(浏览器,迅雷)在未下载完整个文件时,能显示其...原创 2011-12-05 17:27:59 · 307 阅读 · 0 评论 -
Nginx1.1.4+ 对后端机器的长连接特性
nginx upstream keepalive connections Nginx从1.1.4开始,实现了对后端机器的长连接支持,这是一个激动人心的改进,这意味着Nginx与后端机器的通信效率更高,后端机器的负担更低。 例如,对一个没有长连接支持的后端机器,会出现大量TIME_WAIT状态的连接,使用以下命令验证之:ne...2012-06-04 23:02:07 · 260 阅读 · 0 评论 -
windows防火墙批量开放端口
windows自带的防火墙没有增加端口范围的功能,这让一些常见的配置变得非常麻烦(比如FTP被动模式下,就需要在防火墙上开启端口范围),经过查询资料,使用以下cmd批处理内容,即可增加端口范围: echo offclsset var=5000:continueset /a var+=1echo add port %var%netsh firewall add por...原创 2011-10-14 11:42:39 · 1225 阅读 · 0 评论 -
extmail的md5crypt加密方式的原理(PHP实现)
公司最近使用了extmail+postfix作为邮件解决方案。现有一OA系统,员工登录OA时,须使用其合法账号登录之,但这样一来,至少需要两个独立账号和密码,对工作效率有一定的影响。于是我们决定改造现有的OA系统登录机制,使其与extmail使用一致的账号及密码信息,这样的好处是,员工只要记好邮箱密码,也就可以用它登录OA系统,可显著提高工作效率。经过了解,extm...原创 2011-09-26 21:58:40 · 383 阅读 · 0 评论 -
varnish常见错误的解决方法
1. obj.ttl not accessible in method vcl_fetch这是因为从2.0.6以后,obj.ttl 已经变更为beresp.ttl2. beresp.cacheable的含义是什么?官方的解释:beresp.cacheable True if the request resulted in a cacheable response. A res...原创 2011-06-10 12:03:47 · 330 阅读 · 0 评论 -
正确设置nginx/php-fpm/apache权限 提高网站安全性 防止被挂木马
核心总结:php-fpm/apache 进程所使用的用户,不能是网站文件所有者。 凡是违背这个原则,则不符合最小权限原则。 根据生产环境不断反馈,发现不断有 php网站被挂木马,绝大部分原因是因为权限设置不合理造成。因为服务器软件,或是 php 程序中存在漏洞都是难免的,在这种情况下,如果能正确设置 Linux 网站目录权限, php 进程权限,那么网站的安全性实际上是可以得到保障的...原创 2011-09-14 12:20:57 · 424 阅读 · 0 评论 -
php APC 造成的session无法保存bug及解决方法
APC对php脚本的加速效果是明显的,基本可以将php-fpm服务器负载能力提高到2倍,所以在生产环境中,需要尽可能使用APC来加速php脚本。 这是我通过web bench压力测试得出的结论,而在生产环境中,使用APC之后,脚本的执行速度确实有提高(可能达到10-20%) 生产环境中使用ses...原创 2011-05-11 13:29:29 · 146 阅读 · 0 评论 -
构架可扩展站点之一:web组件分离
一、基本概念二、为何要分离? 2.1. 负载分担 2.2. 服务器资源最大化利用2.3 增加浏览器并发连接2.4. 消减Cookie, 减少网络流量三、谁在使用?四、如何实施? 4.1. 范例...原创 2010-09-19 15:48:31 · 222 阅读 · 0 评论 -
Apache参数调整的一些经验
KeepAlive On/Off 指定是否需要建立长连接(保持连接),如果一个网页中包含较多的图片,css, js等等文件,建议将其设置为On 完全可以只建立一个tcp连接处理所有请求,而没必要为每一个静态文件的请求建立一个tcp连接。 MaxKeepAliveRequest 100定义一个tcp连接同时可以处理的请求数,0表示不限制,但是这个选项仅仅在KeepA...原创 2010-02-05 12:27:01 · 184 阅读 · 0 评论 -
PHP magic_quotes_gpc的正确处理方式
大多的PHP程序,都有这样的逻辑:如果发现php.ini配置为不给GPC变量自动添加转义斜线,则PHP自动为GPC添加转义斜线但是事实上,这是错误的,因为它改变了GPC变量原来的值.有这个遗留习惯的原因是PHP程序使用往往配合mysql, 而mysql对特殊字符的转义,采取的是添加转义斜线,但是其它数据如mssql,oci呢,不一定是这样的.如果使用其它类型数据库,如mssql,o...2010-05-06 14:29:12 · 332 阅读 · 0 评论 -
解决discuz 7.2无法批量上传附件
Discuz 7.2(GBK编码) 迁移到Linux 平台, php已经启用了iconv, mbstring库具体表现是当从所见即所得编辑器中上传附件时, 使用普通上传没有问题, 但使用批量上传时, 出现以下界面:给人感觉是文件已经上传成功了, 但无法显示出文件名.后经过我大量时间的排查 , 最终确定的原因是:Linux平台...2010-04-19 17:34:32 · 354 阅读 · 0 评论 -
Nginx php upstream sent unexpected FastCGI record: 3 while reading response head
调用fastcgi_finish_request时,请求数超过max_requests时产生,fpm发送两次FCGI_END_REQUEST记录 测试的脚本及配置:<?php ignore_user_abort();fastcgi_finish_request();sleep(10); ?> Nginx configuration ...2017-03-16 17:32:36 · 1482 阅读 · 0 评论