7 php 内存泄漏_wordpress零基础建站(5)-启用redis+优化php-fpm和mysql

news/2024/5/17 13:16:49/文章来源:https://blog.csdn.net/weixin_39649614/article/details/112284305

432e7398437c61761c608f0c090551c0.png

在上一节教程中,我们已经搭建了wordpress环境php+nginx+mysql+redis,并完成wordpress安装,目前你应该可以正常登录wordpress后台了。

96a0cbdaa23a1c0f67c258a4a9323001.png

这篇文章是wordpress优化的第一篇文章,主要是软件配置方面的内容,后面我们还会再写一篇wordpress动静分离使用CDN的文章,主要优化内容如下:

  1. 安装静态化插件wp super cache或安装redis插件Redis Object Cache
  2. 修改php和nginx上传文件大小限制
  3. 配置php-fpm进程数
  4. 降低mysql内存占用

一、安装静态化缓存插件wp super cache或安装redis插件Redis Object Cache

静态化缓存和redis对象缓存都是为了加速查询数据产生的两种方案,前者是将文章/页面缓存成html文件,后者是将数据缓存到内存中加快查询速度,这两种方案如何选择?

  • 对于内存较小的服务器,使用静态化缓存方案占用内存少
  • 对于内存足够用,大于2G的情况,使用redis缓存较好,个人更偏向于redis,建议使用腾讯云用户使用redis。

选项1、安装静态化插件wp super cache

b5b047fe9c18d7fe1003fc40c7cdfb0f.png

工作原理:

常规情况下wordpress文章页面数据存储在mysql数据库中,浏览器请求的网页加载时需要首先查询数据库返回数据,每次加载页面都需要查询数据库,mysql的负载就会比较高。

使用wp super cache插件后,文章/页面等数据会缓存成静态文件,浏览器请求的网页加载时直接返回静态文件,无需查询数据库,提高响应速度。

安装插件:

  1. 可直接在wordpress后台【插件】中搜索wp super cache然后在线安装即可。
  2. 对于国内服务器,wordpress在线安装插件因为下载速度慢,可能会失败,你也可以通过下面的链接将wp super cache安装包下载下来,然后通过wordpress后台【插件】-【安装插件】-【上传插件】安装。

下载地址:

wp super cache下载,https://downloads.wordpress.org/plugin/wp-super-cache.1.7.1.zip

启用插件:

1、在后台【插件】中启用wp super cache,然后点击【设置】,进入此插件配置页面。

97a2ac6da8c7cd473d95a8d708265264.png

2、在插件设置页面,勾选启用,然后保存即可。

17ecc6f3906aa9805d02241481875307.png

选项2、安装redis插件Redis Object Cache(推荐)

ec68cdd00e53056da9f1e6eaecc5f13a.png

工作原理:

wordpress redis插件,将原本需要查询mysql的内容缓存在内存中,更快的响应速度。

安装插件:

  1. 可直接在wordpress后台【插件】中搜索Redis Object Cache然后在线安装即可。
  2. 对于国内服务器,wordpress在线安装插件因为下载速度慢,可能会失败,你也可以通过下面的链接将Redis Object Cache安装包下载下来,然后通过wordpress后台【插件】-【安装插件】-【上传插件】安装。

下载地址:

redis object cache下载,https://downloads.wordpress.org/plugin/redis-cache.2.0.15.zip

启用插件:

1、在后台【插件】中启用redis object cache,然后点击【settings】进入设置页

45b30d4e102697b6e1645a202a9cf97a.png

2、点击【enable object cache】启动插件即可,插件会自动连接redis

6cdb72da0bf0b2f2cdf0aee16a95d2e0.png

3、redis目前未配置最大内存限制,对于一个初期网站,内存大于2G的情况下,redis内存占用不会特别大,当数据量大到内存占用过多,导致mysql/php等内存不够用时,我们才开始需要考虑增加内存或是设置最大内存占用并启用Policy策略。

二、修改php及nignx上传文件大小限制

dc40336326a0e5f145630ae27b959693.png

1、修改php上传文件大小限制

remi源安装的php配置位置位于:/etc/opt/remi/php74/php.ini

vi /etc/opt/remi/php74/php.ini

然后修改upload_max_filesize和post_max_size两个参数,下图示例中我修改为20M

543d1c41a5350e38935020058d352db0.png

c3e37d53ae88123686371e5a7bbbabcf.png

然后重启一下php(注意本教程是使用remi源安装,所以服务名可能和其他情况不一样)

systemctl restart php74-php-fpm

2、修改nginx上传文件大小限制

nginx配置文件位置位于:/etc/nginx/nginx.conf

vi /etc/nginx/nginx.conf

然后修改client_max_body_size参数,下图示例中我修改为20M

54ccebbf074e11d5625c5bb275c40180.png

然后重启nginx

systemctl restart nginx

三、php-fpm进程数配置

7e9d266b88884d00611c904724842098.png

一般来说以我们2G内存的服务器配置,php-fpm采用动态方式,我们的服务器是1M的带宽,而wordpress又不是CPU密集运算场景,所以综合带宽并发和内存情况,我们设置php-fpm初始进程为10个,最多不超过20个。

vi /etc/opt/remi/php74/php-fpm.d/www.conf

修改pm.start_servers = 10,pm.min_spare_servers = 10,pm.max_spare_servers = 20

67f0c38da1bdedeaa918d4f1de286077.png

然后重启php-fpm

systemctl restart php74-php-fpm

关于php-fpm的配置,还有一个相对重要的参数pm.max_requests,代表每个子进程可以处理的请求数,例如是500,那么处理500此请求后它将被杀死,目的是为了处理因万一引发的内存泄漏。

数值设置一般应该按照网站的请求量来设置,所以每个网站情况不同参数也不同,而且应该根据网站的访问量进行调整。我们按照20个子进程来计算,按照网站PV1000,pm.max_requests设置为500左右。

四、mysql内存占用配置

aaa2ea14750c3fd3128148608f75ae2f.png

对于非独立服务器,mysql默认innodb内存占用总内存10%,这个我们可以不用管。如果你想指定一个数值那么需要编辑以下文件

vi /etc/my.cnf

然后修改innodb_buffer_pool_size的值,记得去掉前面的#号。如果你想降低mysql内存占用,那么我们可以关闭performance_schema,在my.cnf配置文件中增加一行performance_schema=off,mysql内存占用会有极大的降低。如下图

5b2510ef78dc6cbf34f7f450b65d228c.png

然后,保存,重启mysql。

systemctl restart mysqld

沟通交流

参考本系列教程中遇到问题和指正错误都可以添加woody微信沟通:anotherdayo

一来沟通交流共同进步,二来让教程内容更完善丰富,如果文章有幸让您有一些收获,欢迎点赞喜欢留言,加个关注更好啦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_774777.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

呕心之作:支付宝的手机网站支付接口的应用

由于去年做手机Portl接口的工作,需要使用支付宝的支付,于是手机网站支付接口就成了首选。 1.首先下载接口包 支付宝商家服务中心链接:https://b.alipay.com/login.htm?gotohttps://b.alipay.com:443/newIndex.htm 手机网站支付的产品介绍&am…

为什么cms大部分用php写,为什么使用phpcms建站

来谈谈为什么使用phpcms建站,现在是2021年,我仍然觉得很有必要做一下这个说明,一款老的建站cms系统,是否有必要仍然使用。首先,我们都知道,国内3大主流cms是帝国cms,织梦,还有就是ph…

wuc-tab标签点击不了_怎么提高网站点击率(已帮助2548人)

内容导读同样的流量,同样的更新,同样的外链,为什么有的网站点击率很高,有的网站点击率很低,点击率高的网站都有哪些特点,点击率高的网站文章质量一定就高吗,点击率低的网站文章质量一定就低吗&a…

centos7建站php_小白零基础建站详细教程

作为一个新手,想拥有一个自己独立网站、博客该如何操作,搭建网站呢?其实也很简单看完这篇文章你也就懂了!1.申请服务器具体过程我就不做重点描述了,大概步骤就是1.选择服务器厂商;2.选择服务器配置&#xf…

如何给页面加上loding_网站页面布局该如何优化?

网站的页面布局,是SEO优化工作中重要的板块之一,这当中包含了很多方面的细节问题。下面,柒点传媒就来教大家如何优化网站页面布局。图片源自网络1.图片还是文本一篇优质的文章往往会图文兼备,所以优化图片是一项不可或缺的工作。在…

网站能正常登陆但是点进去出现404错误_一群设计师用“404错误页面”逼死人啦...

- 小科普 -什么是404页面?404页面是客户端在浏览网页时,服务器无法正常提供信息,或是服务器无法回应,且不知道原因所返回的页面。说起“404错误”你眼前的画面是?随着这个白底黑字的页面出现,你不由自主地轻…

html的形式链接网站怎么样,网站内链的表现形式有哪些?

内部链接的首要目的就是提高网站的整体收录,提升链接目的页面的排名,对网站整体的流量能起到显著的优化。那网站内链的表现形式有哪些?1.网站导航网站导航是最常见的内部链接,也是比较重要的内链环节,用户或搜索引擎蜘蛛&#xf…

本地有一个现成的php网站但是数据库的账号密码啥的都和空间的不一样,本地web项目部署到服务器里连接不上数据库的解决办法...

今天突然想到把自己之前的项目挂到服务器上,但是用到了数据库,于是给服务器装上了MySQL,想着能赶紧把项目挂上去看看效果,然后并不是一帆风顺,在奋斗了四小时后终于解决了问题的所在。(1)首先我找到了自己的期中考试题…

[导入]新建了一个站点,关于网站色彩搭配的,请多关照

目前正在内部测试中,请大家支持和鼓励哈。浏览地址 : http://www.colorstreet.cn 谢谢。Gary Gong 2007-08-22 15:14 发表评论文章来源:http://www.cnblogs.com/edidu/archive/2007/08/22/865457.html转载于:https://www.cnblogs.com/wallis0922/articles/872248.…

恒联网络技术服务中心网站设计

恒联网络技术服务中心网站设计也就是我目前所在工作的公司,进行改版 转载于:https://www.cnblogs.com/javashi/archive/2010/01/21/1653646.html

51CTO专访人人网黄晶:SNS网站后台架构探秘

【51CTO独家专访】51CTO在此之前报道过一篇名为《世界最大的PHP站点 Facebook后台技术探秘》的文章,让我们了解到Facebook是如何保证5亿用户的系统一直保持稳定、可靠运行的。如果说Facebook离我们有些远的话,那么相信人人网是大家再熟悉不过的一个SNS网…

如何添加网站产品类别+网站产品的添加

1:登陆后台 点击产品管理 会列出当前所有的产品的类别, 我们添加一个新的产品类别 点击 添加列表 点击保存。 2:选中一个产品类别,添加此类别下的产品 点击保存后 返回列表即可看到刚才添加的产品。如果想在网站前台看到这个产…

2011年20大3D网站

如果要在互联网编年史上描述2011年的话,那么无需任何插件即可在浏览器中直接嵌入支持硬件加速的3D图形一定会被记上重重的一笔。 随着大部分现代浏览器都增加了对WebGL的支持(微软IE除外),以及最近发布的Flash 11,开发…

16个销售单个商品的电子商务网站设计示例

这似乎有点奇怪,设计单品电子商务网站有什么特别的吗?不过,例如像 Kickstarter,制造商机芯,3D打印等等,这些使得任何人都可以更容易创建一个新的产品的新东西,你就会明白为什么有单品电子商务的…

在电脑上部署网站lls 浏览器上访问

​在win7 上安装,首先是要进入lls中进行设置,这是第一种方法: 通过图形化的操作方式进行设置, 这个界面中的东西都比较重要,电脑出现问题的话一般在这都可以进行调整,程序和功能可以用来管理你安装的软件&a…

js status不能显示_uptime-status - 一个基于UptimeRobot的网站在线监控面板

简介uptime-status 是一个基于UptimeRobot的网站在线监控程序,可以监控自己网站的在线状态,在静态页面上直观的显示出来!无需搭建运行环境,下载并配置完成后直接运行。目前已经在 GitHub 上放出编译好的文件,什么环境都…

行业网站设计策划书_网站建设及推广的注意事项

更多精彩内容请关注我们如果你是一个相对成熟的企业,我们在建立网站的时候,总是会让网站开发人员,撰写一个网站策划书,通常而言,我们在做网站策划的时候,一份网站策划书主要包括如下一个因素:①…

apple java验证 支付_【支付宝支付】支付宝手机网站支付流程

前言微信APP支付,微信授权,微信JSAPI支付,微信退款,支付宝APP支付,支付宝手机网站支付,支付宝退款。笔者都放到公众号: JAVA大贼船。微信搜一搜,方便以后开发用哦!官方文档支付宝手机…

传统高并发网站入门级架构思想

不涉及具体技术,都是烂大街的东西,只是简单总结一下。 1 前端域名分流 不同的内容从不同的域名的服务器获取。值得注意的是,cookie不能跨域名访问。 主域名下会产生一些cookie,通过不同的静态文件,比如图片&#xff0c…

小皮php面板mysql配置_体验phpStudy小皮面板创建LAMP/LNMP系统和建站图文

在国庆节后老 左有看到原phpStudy面板新的Linux面板系统更新发布取名小皮面板(phpStudy Linux系统初次体验 - 一键安装phpStudy面板查看功能),初次体验这款面板之后我们肯定会会当前比较热门的宝塔面板作为比较,有些人说UI和功能上有所参考,但…