BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

把如何设置宝塔面板提高服务器性能的过程写下来,希望能帮到初次使用宝塔面板的朋友们。

一、定期释放内存

添加计划任务,可以设置每天或一周释放一次,间隔时间根据自己网站情况定,大鸟一般是每天执行一次释放内存,执行时机一般选在夜深人静的时候,当然这个释放内存大鸟前面也详细讲过了,这里就不赘述了。(Bt(宝塔面板)的计划任务功能定期自动释放内存
我们要登陆Bt(宝塔面板)计划任务→任务类型→释放内存。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

二、添加 Swap

开启swap还是有必要的,当然对于土豪来说内存一上都是什么64G啊这种,那真的没什么必要搞swap了,但是大鸟这种屌丝,内存也就是2G,这尼玛各路蜘蛛每天一顿猛撸,大鸟这服务器肯定是吃不消的。因此从经济适用角度来说,一般的vps内存还是添加 Swap比较好。在宝塔面板的软件管理>>系统工具中找到 Linux 工具箱 1.4,点击最右侧的“设置”打开 Swap 虚拟内存,按照下面的推荐值进行设置。

Swap 推荐值:2G 和 2G 以下内存的服务器,设置成和物理内存相同容量 SWAP;2G 以上的,设置为 2G。如果跑的程序特别耗费内存,2G 内存以上的 Swap 也可以设置与内存相同。面板也自带了如何添加swap的详细说明。官方貌似也给了swap的设置值,大鸟这里引用一下。

Swap推荐值:
物理内存         Swap
512M              1024M
1GB                1500M
2GB                2048M
4GB                4096M
6GB+             4096M

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

 

三、安装 PHP 缓存扩展

php版本强烈建议选择php7.0以上版本的, php 缓存扩展推荐使用 Opcache 脚本缓存和 Memcached或者redis内容缓存。在软件管理>>你使用的 php 版本最右侧点击“设置”,进入安装扩展,右侧点击这两个扩展后面的“安装”,再确认一次,Opcache很快搞定,但是memcached这玩意安装起来还是有点缓慢的。

内容缓存和脚本缓存都只安装一个,不要同时安装多个。但是呢Memcached或者redis这两个内容缓存我们可以同时安装,没有什么冲突。当然了,我们还可以安装imagemagick来提高 Imagick高性能图形库,如果你需要的话。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

四、php 配置调整

因为wordpress要跑的流畅的话还是很好内存的,wordpress本身就是个吃内存的大户,所以我们需要在 php 管理的配置修改中,把memory_limit 脚本内存限制修改成 256M,这样 wordpress 跑起来更顺畅了。我们可以在php管理的配置修改里面来搞定。修改memory_limit,把默认值修改成 256M,保存。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

五、PHP 并发调整

宝塔面板在php的性能调整里面自带了几个优化过的 php 并发方案,一般 1 核 1G 内存的云服务器,设置 30 并发或 50 并发都可以,当然如果我们的小博客有30或者50并发绝对够用了,其他配置请自己测试一下合适并发方案。不建议并发超过 300 ,当然如果你的网站流量很大,上10万了ip了,你设置成300也就可以了。但是一个小博客何时才有10万ip呢,所以好是老老实实设置成30 并发或 50 并发吧。如果如果实在是并发不够用还是优化数据库缓存可能更有效。这个大鸟在下面会提到。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

 

六、php 版本和 MySQL 数据库版本

php7 的性能比低版本有很大提升,大鸟强烈建议使用 php7 以上版本;1 核 1G 配置的数据库推荐 MySQL5.5,而 5.6 要求最低内存 1G 以上,所以大家应该知道如何选择了。因为大鸟的vps是国外的所以配置略高点,3h2g的配置,这配置完个小博客足够饿了。大鸟安装的是php7.2、MySQL5.5。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

七、卸载多余扩展组件

如果程序不需要,就卸载 ZendGuardLoader、ioncube、PATH_INFO,安装后不用也一直占用一部分内存。而且宝塔面板自带了很多乱起八糟的什么宝塔运维、宝塔安全登录,这些用不到的全部删掉。BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

八、CC防护

使用宝塔linux面板很多用户受到CC攻击不知如何防范,这时候我们还需要来进行一些简单的设置。

1、开启waf安全模块

额,就是这么简单粗暴,就是在Nginx管理里面,不过版本最好要是Nginx1.12的,低版本不支持这功能,这是免费版支持,如果我们用专业版可以直接用宝塔网站防火墙。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护

 

2、网站流量限制

上面设置好还不够,我们需要对网站进行加固,到网站管理里面找到流量限制,开启启用流量控制的功能,如图!

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护
宝塔面板自带了几个方案,我们一般选择论坛/博客这种就可以了,这样对网站有个最起码的保护作用,或者说如果被cc了,这样设置还是有点作用的。

具体参数解释

并发限制:一般一个日IP数万甚至十万的站,并发设置为一百多都可以。注意!这是并发,相当于你网站一秒钟有多少人同时进行请求。这个量很高了。

单IP限制:根据自己网站需求来设置。一般设置为5到10即可

流量限制:这个是限制单IP每个请求的流量大小。根据访客访问自己网站内容需要的流量大小来设置即可。

九、MySQL性能简单调优

MySQL配置参数调优 (需要根据网站运行情况调整),不过宝塔面板集成了几个优化方案,我们选择一下就可以了。

BT(宝塔面板)简单优化加快网站访问速度以及一些简单的CC防护
宝塔面板还是很贴心的,给出了5个不同的优化方案,我们只要对应自己的配置来选择即可。不过有一些地方需要简单说明一下。

1、查询缓存命中率
MySQL查询缓存是个比较受争议的功能,个人建议当你有在使用redis、memcached等缓存软件时,将query_cache_size设为0可以将其关闭,当你没有使用缓存软件,有多余的内存使用,且数据库瓶颈明显存在时,可以尝试开启查询缓存,这是个非常依赖数据表结构及SQL语句优化的功能,若数据表结构和SQL语句都针对查询缓存进行过优化,它的效果还是很不错的。所以我们还是要配和memcached等缓存来使用,这样效果就会更好,大鸟这里就是把query_cache_size设为0。你们也不妨试试看,如果有更好的方案欢迎交流。