提高 php 服务器性能的办法有很多,但是对于已经安装了宝塔面板的服务器而言就相对简单多了,今天掘金网就把如何通过设置宝塔面板来提高服务器性能的过程写下来,希望能帮到初次使用宝塔面板的朋友们。
群里面很多朋友初次接触 php 环境和宝塔面板,而且很多人用 avada、The 7、newspaper、Enfold、Betheme、 Richer 等耗费系统资源的 WordPress 模板,如果不做额外优化的话,网站打开速度真的很慢。比如一个朋友使用阿里云 ECS 国内服务器(配置:2 核 8g 内存 40g 系统盘 100g 数据盘 5m 带宽),启用 newspaper 主题,站点属于艺术类网站以图片为主,首页就是一个大 banner 和 N 多图片,全高清高分辨率那种的,联通百兆光纤打开需要近 10 秒钟,他自己也很不满意。要知道国内带宽成本极高,一台云服务器接近一半成本是带宽费用,普通网站 1M 带宽起步也不错了而他买了 5M 还慢,所以不优化一下真的不好意思让客户上来看。
宝塔面板是我们再熟悉不过的国产 Linux 面板了,目前在国内可以说是风声水起,用户量不断上涨。为了让服务器运行速度更快,我们就使用宝塔面板提供的功能来优化一下服务器配置。
1、定期释放内存
添加计划任务,可以设置每天或一周释放一次,间隔时间根据自己网站情况定,执行时机建议为半夜,如:1:30。具体如下图所示,在宝塔面板左侧的计划任务中操作即可。
2、添加 Swap
不管服务器内存多大都建议添加 Swap。在宝塔面板的软件管理 >> 系统工具中找到 Linux 工具箱,安装好后,点击最右侧的“设置”打开“Swap/虚拟内存”,按照下面的推荐值进行设置。
关于宝塔面板swap虚拟内存设置说明参考:
- swap是Linux下的虚拟内存,设置适当的swap可增加服务器稳定性;
- 建议swap容量在真实内存容量的1.5倍左右,若您的服务器内存大于4GB,可设1-2GB的固定值;
- swap文件默认保存在/www/swap,设置前请确保磁盘空间够用;
- 若您不需要swap,请将容量设为0;
- OVZ虚拟架构机器不可用此功能。
如果你的宝塔面板运行的MySQL数据库经常停止,导致网站无法连接数据库,那么建议设置虚拟内存提高宝塔面板运行的稳定性。
这里不同的服务器配置增加的内存是不同的。通用规则:
物理内存(RAM) | Swap 空间建议 | 适用场景 |
---|---|---|
≤ 2GB | RAM 的 2 倍 | 老旧设备或内存极小 |
2GB–8GB | 等于 RAM 大小 | 桌面/轻量服务器 |
8GB–64GB | RAM 的 0.5 倍(至少 4GB) | 生产服务器、数据库等 |
≥ 64GB | 至少 4GB,或禁用 Swap | 高性能服务器(内存充足时) |
根据我们的内存然后设置SWAP空间。
3、安装 PHP 缓存扩展
个人博客的 php 缓存扩展推荐使用 Opcache 脚本缓存和 Memcached 内容缓存。在软件管理 >> 你使用的 php 版本最右侧点击“设置”,进入安装扩展,右侧点击这两个扩展后面的“安装”,再确认一次,很快搞定。内容缓存和脚本缓存都只安装一个,不要同时安装多个。
Opcache 脚本缓存
在php管理页面,选择“配置修改”,把max_execution_tim(最大脚本运行时间)修改为60;
在php管理页面,选择“性能调整”,把并发方案改成30;max_spare_servers(最大空闲进程数)改成20。
4、php 配置调整
同样在 php 管理的配置修改中,memory_limit 脚本内存限制修改成 256M,这样 wordpress 跑起来更顺畅了;upload_max_filesize 允许上传文件的最大尺寸,像 avada 模板可能会超过这个数值无法上传,需要修改为大于上传文件的数值。
在配置文件中 Ctrl+F 搜索 memory_limit,把默认值修改成 256M,保存。下图是掘金网改好后的。
5、PHP 并发调整
宝塔面板提供了几个优化过的 php 并发方案,一般 1 核 1G 内存的云服务器,设置 30 并发或 50 并发都可以,其他配置请自己测试一下合适并发方案。不建议并发超过 300 ,如果并发不够用还是优化数据库缓存可能更有效。
6、php 版本和 MySQL 数据库版本
php7 的性能比低版本有很大提升,掘金网强烈建议使用 php7 以上版本;1 核 1G 配置的数据库推荐 MySQL5.5,而 5.6 要求最低内存 1G 以上,所以大家应该知道如何选择了。
7、卸载多余扩展组件
如果程序不需要,就卸载 ZendGuardLoader、ioncube、PATH_INFO,安装后不用也一直占用一部分内存。设置完了要重启服务器,让调整后的参数生效。
8、关闭宝塔监控
所在位置监控>开启监控,此处关闭即可。
宝塔面板系统监控会迅速消耗cpu。服务器就好比电脑一样,开的程序越多,程序越复杂消耗的cpu定然会越高,像系统监控这种功能无疑是最吃cpu的,所以一般别开!
9、定期清空日志
我们在使用windows时,也会发现好多软件都会产生一些临时性的缓存、日志等文件,时间长了系统变慢,运行什么软件也不流畅,同样的,服务器系统一样会存在这样的问题,运行不流畅,就会产生资源被侵占。
所以我们在日常对云服务器的维护中,要定期清理磁盘无用的文件,只有这样才会少些问题。
10、搭配阿里云存储 OSS 使用
像本文开头提到的群友网站高清图片较多的,如果达到几千张且还要不停增加的话,建议在购买阿里云 ECS 云服务器的基础上搭配阿里云存储 OSS,把图片分流到 OSS 存储空间上去,ECS 只放程序部分,这样网站打开速度会快很多的。
写在最后:
经过上面的一番折腾整理优化,你的云服务器应该比之前流畅很多了。很多新手对 Linux 系统的了解都是一知半解的水平,尤其是 Linux 系统内存机制几乎大部分都是拿使用 Windows 的习惯去看待,殊不知这是一个极大的误区,今天掘金网就结合实例告诉大家一个网站服务器最佳状态应该是什么样的。先看截图:
可以看到内存占用非常的高,几乎达到了 80%以上,而 Linux 系统的负载如下图所示:
这就是一个网站服务器的最佳状态了,因为好内存占用意味着数据库查询缓存、PHP 的编译代码缓存都已经在内存里了,如有请求会以最快的速度从内存里调用,根本不要 CPU 的重复运算。
说白了一个 Linux 系统的网站服务器最佳状态就是内存高占用、负载持续平稳维持在一个很低的状态,并且不用担心 Linux 的内存会爆满,因为 Linux 拥有比 Windows 先进多的内存管理机制,这是 Linux 跟 Windows 系统最大的差异之处,这也是为什么服务器的优化往往都是把各种缓存尽最大可能放到内存里的主要原因。
建议掘友们都能去搭建一个网站《原因》,普通的建站很简单,我们可以依靠专门的建站软件来实现《教程》。自己如果实在无力拿下的话,完全可以付费来给你搞定的,掘金网目前就提供这样的付费技术支持服务《去付费》,花钱不多可以买个保障和安全,有需要的可以联系掘金网。
历史上的今天:
- 2024: 扩大实体店流量的超级大招(0)
- 2023: 资本投资人是如何赚的钱?(0)