毕竟xiunobbs是一款主社区论坛的程序,当数据太大,必定会影响网站运行速度。为了提高网站访问速度,我们用到了cos(储存桶)来储存文件;用cdn(分布式加速)加速;光解决了宽带问题,还需要解决网站服务器CPU的压力。
当你访问一个页面,需要多次去网站数据库查询相关数据,这就造成了CPU压力。修罗作者在开发时已经想到这个问题了,所以程序已经内置了选择那种方式访问数据库。
为了减少访问数据库次数,减少服务器哪里,于是前辈们开发了redis,memcached等的数据库缓存服务器软件,xiuno程序中,我们可以任意选择直连mysql[默认]、redis、memcached。下面的教程,我们以redis为例。
教程
我选择在宝塔面板给大家操作演示
软件商店→搜索redis→安装redis
选择xiuno网站所用的php版本,点击设置
打开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模式和线上模式会用到这两个功能
请登录后发表评论
注册