分类 学习笔记 下的文章

淘宝Tengine很早就有concat,但apache的concat有致命的缺陷可能导致php文件直接被下载(未经测试),所以一直没敢使用。
今天偶然发现国人修改的concatx,所以将其编译进服务器,问题貌似还是有(无法使用?v版本号),但已经非常不错了。
编译apache的concatx模块:

wget http://ajaxs.sinaapp.com/apache/modconcat/mod_concatx.c
ln -s /usr/local/apache/bin/apxs /usr/local/bin/apxs
apxs -c mod_concatx.c

编译安装concatx模块

apxs -iac mod_concatx.c

编译过程中会自动安装在apache模块目录中,并且conf/httpd.conf配置文件也会自动加上concatx的配置信息。
重启httpd

service httpd restart

查看httpd已经加载的模块

httpd -M
//在最后可以看到
concatx_module (shared)

这说明已经安装成功!可以正常使用了!

请求参数需要用两个问号('??')例如:
http://example.com/??style1.css,style2.css,css/style3.css,js/js.js

说明:concatx使用过程中如果当前目录下有index.php或index.html将无法使用。

碰到PHP出现”Deprecated: Assigning the return value of new by reference is deprecated in“,百度以后得知是原先php版本可以使用=&,现在5.3以上不能使用”=&”符号,可以直接用”=”,删除&即可。

如果降级php肯定可以解决,但作为最新版本肯定是需要顺应潮流,所以只有在对程序中”=&”符号全部用”=”代替。

# Generated by iptables-save v1.4.x on Fri Jun 13 01:57:13 2014
*filter
:INPUT ACCEPT [82:5220]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1222:1240160]
:syn-flood - [0:0]
-A INPUT -p tcp -m tcp --dport 80 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 1/sec -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 50/sec --limit-burst 50 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j ACCEPT
-A FORWARD -p icmp -m icmp --icmp-type 8 -m limit --limit 1/sec -j ACCEPT
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Fri Jun 13 01:57:13 2014