Apache

Nginx apache 实现AJAX跨域请求

AJAX从一个域请求另一个域会有跨域的问题。那么如何在nginx上实现ajax跨域请求呢?要在nginx上启用跨域请求,需要添加add_header Access-Control*指令。如下所示:

Apache–SSI 服务器端包含

(参考apache手册及百度百科:http://baike.baidu.com/view/188371.htm)

访问静态页面时,页面有一个模块无法显示并报错“an error occurred while processing this directive”,查看原html文件,发现该处是通过SSI的命令include进来的:

<!–#include virtual=”/html/attention/expo.html”–>  通过改正引入文件的路径,成功引入。这里做一下笔记:…

Apache rewrite转换为Nginx rewrite方法及注意事项

rewrite 转换 注意事项: 
一、RewriteRule 替换成 rewrite
二、前匹配条件 – 要去掉结尾符 $
三、前匹配条件 – 中的点. 要加转义替换成 \.
四、前匹配条件 – 路径开始前要加根目录索引符号 /
五、前匹配条件 – 使用 双引号 括起条件
六、后匹配条件 – 路径开始前要加根目录索引符号 /
七、后匹配条件 – 要增加结尾符 last;…

apache,nginx上传目录无执行权限的设置方法

至于为什么设置上传目录无权限这个我就不累赘了,现在比较流行的web服务有iis,apache,nginx,使用操作系统无非是windows or *nux
我们来看俩段通常对上传目录设置无权限的列子,配置如下:
复制代码代码如下:
<Directory “/var/www/upload”>
<FilesMatch “.php”>
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>

还有网上那个对nginx上传目录无执行权限

复制代码代码如下:
location ~ ^/upload/.*\.(php|php5)$
{
deny all;
}

这些配置表面上看起来是没什么问题的,确实在windows下可以这么说。
但是*nux就不同了,大家都是知道的*nux操作系统是区分大小写的,这里如果换成大写后缀名*.phP一类就bypasss了

这里我说下我个人的解决方法:

复制代码代码如下:
<Directory “/var/www/upload”>
<FilesMatch “(?i:.php)”> //?是尽可能多的匹配.php的字符串,i是不区分大小写,然后冒号后面跟上正则表达式
Order Allow,Deny
Deny

百万记录级MySQL数据库及Discuz!论坛优化

最近,帮一个朋友优化一个拥有20万主题,100万帖子,3万多会员,平均在线人数2000人的Discuz!论坛,采用Linux2.6+2+mod_php5+MySQL5,服务器配置为双至强+4G内存,优化前,系统平均负载(load average)基本维持在10以上,MySQL的CPU占用率基本在90%以上,优化后,系统平均负载降到0.5以下,MySQL的CPU占用率很少有超过10%的时候。优化前YSlow得分只有35分,优化后YSlow得分86分。

现将优化的过程和经验做一个记录:

首先,对Apache进行优化,编辑httpd.conf:…

Page 1 of 212