8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

 
[教程]xiuno如何开启缓存加速,减轻服务器压力
头像 天无神话 3月前

        毕竟xiunobbs是一款主社区论坛的程序,当数据太大,必定会影响网站运行速度。为了提高网站访问速度,我们用到了cos(储存桶)来储存文件;用cdn(分布式加速)加速;光解决了宽带问题,还需要解决网站服务器CPU的压力。

        当你访问一个页面,需要多次去网站数据库查询相关数据,这就造成了CPU压力。修罗作者在开发时已经想到这个问题了,所以程序已经内置了选择那种方式访问数据库。

        为了减少访问数据库次数,减少服务器哪里,于是前辈们开发了redis,memcached等的数据库缓存服务器软件,xiuno程序中,我们可以任意选择直连mysql[默认]、redis、memcached。下面的教程,我们以redis为例。

教程

我选择在宝塔面板给大家操作演示

软件商店→搜索redis→安装redis

安装redis

选择xiuno网站所用的php版本,点击设置

打开php设置

打开php设置后

安装扩展→选择redis→安装

给php安装redis扩展

memcached的安装方法与上方相同

在xiuno网站根目录找到/conf/conf.php

第24行

'type' => 'mysql',

将mysql改为redis

第49行到54行

    'redis' => 
    array (
      'host' => 'localhost',
      'port' => '6379',
      'cachepre' => '表前缀_',
    ),

一般默认不用修改,如果你的redis端口不是6379,或者数据表前缀不是bbs_那么就需要手动修改该配置。


其他

值得一提的是redis只能在一个php中运行,如果你有两个网站的数据表前缀名相同,那么不可以使用,那样会导致两个网站的数据库错乱在redis的缓存中

memcached的配置方法与上方教程大体一致,不过相关配置在43行到48行

    'memcached' => 
    array (
      'host' => 'localhost',
      'port' => '11211',
      'cachepre' => '表前缀_',
    ),

xiunobbs还支持php的opcache缓存,在php扩展中找到opcache并安装即可自动生效。

上面的redis、memcached、以及刚刚提到的opcache,我都没有给大家解释,大家可以去百度中查一查他们的功能逻辑,它为什么可以给网站提高效率降低服务器负载。

问答

如果你的redis有密码怎么办?

将相关配置改为

    'redis' => 
    array (
      'host' => 'localhost',
      'port' => '6379',
      'password' =>'你的密码'
      'cachepre' => '表前缀_',
    ),

你的密码部分填写redis的密码

打开/xiunoPHP/cache_redis.class.php

文件中查找  $r = $redis->connect($this->conf['host'], $this->conf['port']);

在这一行下面新增

if($this->conf['password']!==null){
                	if($redis->auth($this->conf['password']) == false){
                		return $this->error(-1, 'Redis 服务器密码错误。');
                	}
                }

打开/xiunophp/xiunophp.min.php

查找:$r = $redis->connect($this->conf['host'], $this->conf['port']);

在这一行下面新增

if($this->conf['password']!==null){if($redis->auth($this->conf['password']) == false){return $this->error(-1, 'Redis 服务器密码错误。');

两个都修改是因为debug模式和线上模式会用到这两个功能

分割线 聚力云互联首月3元
最新回复 (1)
返回
免责申明:本站极少部分资源来自于网络,如有侵权,请发邮件至(twsh0305@qq.com),告诉我们,我们会立即撤下相关内容!