当我们安装完成BT宝塔面板宝塔面板建好网站之后,然后需要给面板和服务器做一些简单的设置,比如说php优化、myql优化、开启php缓存、网站流量限制等等来提高服务器的性能。
对于你用了BT宝塔面板宝塔面板来说,这些步骤都很简单,我们都是可以直接在面板里面来操作。
一、定期计划任务
定期释放内存
在宝塔面板:计划任务功能里面,添加计划任务,计划名称:释放内存。
大家可以设置每天或一周释放一次,间隔时间根据自己网站情况定,我是每天执行一次释放内存,执行时机都是选在夜深人静的时候。
定期备份数据
还可以设置计划定期备份网站。可以每星期一次或者自己决定。
可以将备份数据存储到第三方云储存。
七牛云储存提供了免费的10G云储存空间,我们可以利用宝塔面板中带的七牛云储存插件,把你的网站备份以及数据库备份储存到你的七牛云上。
宝塔面板七牛云储存插件
除了七牛云储存,宝塔还提供了腾讯云的OSS插件,以及阿里云OSS插件,又拍云的插件,你也可以利用这些插件,把你需要储存的东西放到别的地方,可以有效的减少磁盘空间的占用。也可以避免因服务器崩溃造成的损失。
二、添加 Swap
swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性。
1.打开宝塔面板的软件
2.管理系统工具中找到 Linux 工具箱
3.点击最右侧的“设置”打开 Swap/虚拟内存,按照下面的推荐值进行设置即可。
Swap 推荐值:2G 和 2G 以下内存的服务器,设置成和物理内存相同容量 SWAP;2G 以上的,设置为 2G。如果跑的程序特别耗费内存,2G 内存以上的 Swap 也可以设置与内存相同。面板也自带了如何添加swap的详细说明。
官方貌似也给了swap的设置值,我给大家看一下。
Swap推荐值:
物理内存 Swap虚拟内存 512M 1024M 1GB 1500M 2GB 2048M 4GB 4096M 6GB+ 4096M
swap介绍
swap 是类 Unix 操作系统下虚拟内存技术的实现。简单地说,swap 文件或者 swap 分区(交换区)就是把一部分硬盘空间拿出来,模拟成备用的内存给 linux 使用。
Linux 系统在运行中会把内存中暂时用不到的部分数据放在 swap 分区中保存,把宝贵的内存资源分配给其他更加需要内存的程序使用。所以添加swap虚拟内还是比较重要的
三、安装 PHP 缓存扩展
PHP7.0以后的版本比5.x版本在性能以及其它方便都有很显著的提升,PHP一般推荐安装7.0以上的版本。
PHP缓存扩展我推荐使用 Opcache
脚本缓存和 Memcached
或者redis
内容缓存。
1.打开软件管理
2.找到你使用的 php 版本最右侧点击“设置”,进入安装扩展,右侧点击这两个扩展后面的“安装”,再确认一次即可。
脚本缓存的话根据版本对xcache、opcache 任选一项安装,PHP5.2-5.4建议使用xcache,PHP5.5以上建议使用opcache
内容缓存和脚本缓存都只安装一个,请不要同时安装多个。
四、PHP 并发调整
一般 1 核 1G 内存的云服务器,设置 30 并发或 50 并发都可以,当然如果我们的小博客有30或者50并发绝对够用了,其他配置请自己测试一下合适并发方案。
不建议并发超过 300 ,当然如果你的网站流量很大,上10万了ip了,你设置成300也就可以了。
但是一个小博客何时才有10万ip呢,所以好是老老实实设置成30 并发或 50 并发吧。如果如果实在是并发不够用还是优化数据库缓存可能更有效。
这里大家可以根据自己服务器配置进行设置,其实设置并发多少,大家可以根据自己服务器内存大小进行计算,一般一个php-fpm进程占用内存30M左右,以2048MB内存(2G内存)来计算,大概可以设置68个并发(这是最大设置数)。
PHP并发调整建议:
CPU/内存 单站点 多站点
1H/512M 20-30 10-20
1H/1G 30-50 20-30
2H/2G 50-80 30-50
2H/4G 60-100 30-50
4H/4G 100-150 30-80
4H/8G 100-200 30-80
6H/6G 100-200 30-80
8H/8G 100-300 50-100
8H/16G 100-300 100-150
16H/16G 100-300 100-150
注1:容易受到CC攻击的站点使用的PHP版本,尽量不要设置过高的并发,以免服务器被打死
注2:VPS性能参差不齐,以上建议仅供参考,请根据实际使用效果自行调整
注3:不建议设置超过300并发上限,哪怕您的服务器性能足够好;若发现并发不够用,请尝试优化站点数据库缓存可能更有效
五、MySQL性能简单调优
MySQL配置参数调优 我们需要根据网站运行情况调整我们需要根据网站运行情况调整,不过宝塔面板还是很贴心的,集成了几个优化方案,我们选择一下就可以了。
但是我们还是有些地方还需要优化一下;
查询缓存命中率
MySQL查询缓存是个比较受争议的功能,我在大鸟博客看到建议当你有在使用redis
、memcached
等缓存软件时,将query_cache_size
设为0可以将其关闭,当你没有使用缓存软件,有多余的内存使用,且数据库瓶颈明显存在时,可以尝试开启查询缓存,这是个非常依赖数据表结构及SQL语句优化的功能,若数据表结构和SQL语句都针对查询缓存进行过优化,它的效果还是很不错的。
所以我们还是要配和memcached
等缓存来使用,这样效果就会更好,就是把query_cache_size
设为0。
MySQL版本选择:
在内存小的机器上,mysql建议选择5.5版本
1 核 1G 配置的数据库推荐 MySQL5.5
1 核 2G 配置的数据库推荐 MySQL5.6 ,MySQL5.6 要求最低内存 1G 以上。
如果你服务器的内存大于2G以上,建议选择mysql5.7版本,甚至更高的也可以。
MySQL数据库版本建议:
CPU/内存 数据库
1H/512M MySQL5.1
1H/1G MySQL5.1/5.5
2H/2G MySQL5.1/5.5
2H/4G MySQL5.5/5.6
4H/4G+ MySQL5.5/5.6/5.7
六、php 配置调整
因为大部分网站要跑的流畅的话还是很好内存的,部分网站本身就是个吃内存的大户,所以我们需要在 php 管理的配置修改中,把memory_limit
脚本内存限制修改成 256M按需求自己改按需求自己改,这样 网站就会 跑起来更顺畅了。
我们可以在php管理的配置修改里面来搞定。修改memory_limit
,把默认值修改成 256M按需求更改按需求更改,保存OK了。
七、NGINX开启gzip压缩
压缩也可以说是加速网站一个大因素,相比没有压缩过的和压缩过的都是两个差别。
使用宝塔安装NGINX的话,宝塔已经默认开启且设置了2的压缩率。(0为未压缩大小、9为最高压缩大小。)
Apache这个没注意,如果每开启的话,百度开启下对应的开启方法即可。
1.打开软件管理
2.找到nginx,点击最右侧设置,让后再次点击性能调整,选择压缩等级9级即可,当然可以不按照图中9级,都可以按自己需求来,一般压缩等级调到5以上效果比较好点。
操作方法:
找到宝塔面板 – 软件商店 – 运行环境 – nginx – 设置 – 性能调整,
gzip_comp_level 压缩率。设置为 5或者6,
服务 – 重启。
注意:压缩等级也不是越高越好, (压缩级别,1压缩比最小处理速度最快,9压缩比最大但处理最慢,同时也最消耗CPU),如果是配置比较低的服务器,1h2g或者2h4g的建议在3-5即可,配置在高点服务器CPS空闲资源多可以自己往上加。
3.服务器名字的hash
表大小、客户端请求头buffer
大小、请求主体缓冲区;建议用我图中还出来的配置,速度提升杠杠的。
修改Nginx环境Gzip压缩默认输出 MIME类型
在宝塔面板,软件商店,找到已安装的 nginx ,点击设置,点击修改配置,搜索gzip_types
然后可把下面代码直接复制到 Nginx 配置当中(替换原有的 gzip_types 配置)。
gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-font-opentype application/x-font-truetype application/x-javascript application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/opentype font/otf image/svg+xml image/x-icon image/vnd.microsoft.icon text/css text/plain text/javascript text/x-component;
点击保存之后,重载 Nginx 配置,再重启下 Nginx 即可。
gzip_types 是进行压缩的文件类型,缺啥补啥就行了,宝塔 Nginx 环境 Gzip 压缩默认输出 MIME 类型很少,所以在这里我们增加一些补上去。
JavaScript有两种写法,最好都写上吧,总有人抱怨js文件没有压缩,其实多写一种格式就行了。
不过你要考虑自己的CDN之类的,如果静态文件已经丢出去了,也就没必要了!
八、宝塔面板PHP去掉多余的扩展组件
如果我们的网站程序不需要 ZendGuardLoader、ioncube、PATH_INFO等扩展组件,我们可以尝试卸载掉它,以减少内存的使用率。