前几天帮一个做建站快一年的小伙子排查服务器问题,他用的就是Apache服务器,网站偶尔蹦500错误,加载也慢得离谱,找了好几天都没找到问题在哪,最后一看配置文件,好家伙,犯了好几个很低级的配置误区,全是网上老教程带偏的。说真的,Apache作为老牌web服务器,稳定性扛这么多年不是吹的,但大部分出问题的情况,真不是服务器本身不行,都是配置没弄对踩了坑。

Apache服务器的模块加载误区
很多新手刚学配置的时候,总觉得多加载模块总比少加载好,省得缺东少西出错误,于是把Apache自带的模块全都打开,一个都不删。我刚入行的时候也这么干过,结果呢,服务器负载动不动就蹭蹭往上涨,内存直接被占满大半,网站不卡才怪。而且多余的模块很多根本用不上,比如不需要CGI就别开mod_cgi,不需要信息展示就关掉mod_info,多开一个模块不仅多占一份内存,还多了一个可能出漏洞的地方,完全没必要。我之前见过一个朋友,服务器配置其实不算差,就是因为开了十几个没用的模块,内存占用直接比正常高了30%,你说冤不冤?正确的做法就是,只开你需要的模块,没用的一律关掉,干净清爽还安全,这点真的很容易被忽略。
目录权限配置的常见坑
说到权限,我可太有话语权了,刚学的时候跟着网上教程走,人家说把权限设成777就不会出权限错误了,我信了,结果没半个月网站就被黑客挂了黑页,哭都没地方哭去。很多朋友图方便,直接把整个网站目录设成777,说这样就不会有权限问题了,这不纯纯给黑客开门吗?777权限意味着任何人都可以读写修改你的目录文件,传个木马一句话直接就上去了,这风险也太高了。我这么多年见过不少网站被黑,追根溯源就是这个错误配置,真的太可惜了。正确的做法其实很简单,一般目录设成755就够了,文件设644,只有专门用来传文件的上传目录才可以适当放开权限,还要限制这个目录里的脚本执行权限,别嫌麻烦,这一步能挡住90%的恶意上传,怎么算都划算。
.htaccess配置的常见误区
很多新手听说.htaccess用来做伪静态、301跳转特别方便,于是不管啥情况直接就开了这个配置,其实这里坑也不少。首先,开启.htaccess之后,Apache每次处理请求都要重新读取一遍这个文件,会额外消耗性能,网站加载速度自然就下来了,尤其是访问量起来之后,这个性能损耗会更明显。其次,很多人写规则的时候不注意,很容易写出死循环重定向,或者把权重导错地方,我之前见过一个哥们,自己瞎写伪静态规则,结果把网站所有收录都弄成404了,排错排了整整一个星期,人都傻了。其实如果你的服务器是自己配置的,不如直接把所有规则写到主配置文件httpd.conf里,性能好还稳定,实在需要用.htaccess,也要定期清理没用的规则,别什么乱七八糟的规则都堆在里面,堆多了早晚出问题。
连接数与端口配置误区
还有一个误区,就是很多人觉得连接数开越大越好,把MaxConnection一下子设到上千,说这样就能承载更多访客了。可你想过没有,Apache每个进程都占不少内存,你的服务器总共就那么点内存,连接数开太大直接就把内存占满了,结果就是服务器卡得一动不动,甚至直接宕机,这不是好心办坏事吗?我之前就见过一个新手,服务器只有1G内存,硬生生把连接数开到500,结果网站只要有十几个访客就直接宕机,他还到处找为什么内存不够用,也是挺让人心疼的。还有就是端口问题,很多人装完Apache之后,除了80、443端口,其他端口都不管,也不做防火墙限制,把很多管理端口直接暴露在公网,这不就是给扫描漏洞的黑客递刀子吗?正确的做法其实就是,根据你的服务器内存大小合理设置连接数,不要盲目贪大,够用就好,然后没用的端口一律用防火墙关掉,只开需要对外提供服务的端口,安全多了。
其实说了这么多,你会发现这些误区都不是什么技术难题,全都是配置的时候不注意的小细节,但就是这些小细节,会让你的Apache服务器各种出问题,甚至留下安全漏洞给黑客可乘之机。很多新手都是跟着网上的老教程走,教程没更新,误区就一直传下来了,你只要多留个心眼,看完这篇之后,回去检查一下自己的Apache配置,避开这些坑,Apache跑起来还是相当稳的。毕竟这么多年的老牌服务器了,经得起考验,只要配置对了,完全能满足大部分网站的需求,别不信,你去检查一下,说不定你的配置里就躺着好几个误区呢。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!