部署论坛项目并使用redis缓存加速网站访问流量

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 部署discuz并使用redis加速1.部署LNMP环境1.1.准备yum环境

部署discuz并使用redis加速

1.部署LNMP环境

1.1.准备yum环境

[root@jiangxl ~]# rm -rf /etc/yum.repos.d/*
[root@jiangxl ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo ;curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.2.部署nginx

[root@jiangxl ~]# yum -y install nginx
[root@jiangxl ~]# vim /etc/nginx/nginx.conf
user nginx;

1.3.部署mysql

1.安装mysql
[root@jiangxl ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm
[root@jiangxl ~]# yum -y install mysql-community-server
2.启动mysql
[root@jiangxl ~]# systemctl start mysqld
[root@jiangxl ~]# systemctl enable mysqld
3.修改mysql root密码
[root@jiangxl ~]# mysqladmin -uroot password '123456'
4.开启mysql远程访问
[root@jiangxl ~]# mysql -uroot -p123456
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

1.4.部署php

1.部署php
[root@jiangxl ~]# wget http://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@jiangxl ~]# yum -y localinstall webtatic-release.rpm
[root@jiangxl ~]# yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb
2.修改php程序属主
[root@jiangxl ~]# vim /etc/php-fpm.d/www.conf 
user = nginx
group = nginx
3.启动
[root@jiangxl ~]# systemctl restart php-fpm
[root@jiangxl ~]# systemctl enable php-fpm

1.5.测试lnmp是否可用

1.开启nginx连接php
[root@jiangxl ~]# vim /etc/nginx/conf.d/discuz.conf
server {
        listen 81;
        server_name jiangxl.discuz.com;
        root /data/discuz;
        index index.php index.html;
        location ~ \.php$ {
                root /data/discuz;
                fastcgi_pass 127.0.0.1:9000;                    
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;               
                include fastcgi_params;                         
        }
}
2.访问http://81.68.186.218:81/

2.部署discuz

2.1.部署discuz

下载地址
https://adaitwo.lanzous.com/i0sawfgwbrg
1.解包
[root@jiangxl ~]# unzip Discuz_X3.4_SC_GBK_20191201.zip -d /data/discuz/
2.删除刚刚创建的测试文件
[root@jiangxl discuz]# rm -rf index.php 
3.修改属主
[root@jiangxl discuz]# chown -R nginx.nginx .
4.将主源码移动到站点目录
[root@jiangxl discuz]# mv upload/* .

2.2.创建discuz数据库

mysql> create database discuz;
mysql> grant all on discuz.* to discuz@'%' identified by '123456';

2.3.页面安装discuz

2.3.1.点击我同意

2.3.2.全部是ok即可点击下一步

2.3.3.选择全新安装

2.3.4.创建数据库

数据库服务器:81.68.186.218

数据库名:discuz

数据库用户名:discuz

数据库密码:123456

数据库表前缀:pre_

管理员账号:admin

管理员密码:admin

正在创建表

数据库里已经创建完表

2.3.5.安装完成

2.3.6.访问首页

3.配置redis加速

3.1.配置redis

1.安装redis
[root@jiangxl discuz]# yum -y install redis
[root@jiangxl discuz]# systemctl start redis
[root@jiangxl discuz]# systemctl enable redis
[root@jiangxl discuz]# netstat -lnpt | grep redis
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      26575/redis-server 
2.配置redis
[root@jiangxl discuz]# vim /etc/redis.conf 
requirepass 123456
[root@jiangxl discuz]# systemctl restart redis

3.2.配置discuz连接接redis

[root@jiangxl discuz]# vim config/config_global.php 
$_config['memory']['prefix'] = 'EtjkuH_';
$_config['memory']['redis']['server'] = '81.68.186.218';
$_config['memory']['redis']['port'] = 6379;
$_config['memory']['redis']['pconnect'] = 1;
$_config['memory']['redis']['timeout'] = '0';
$_config['memory']['redis']['requirepass'] = '123456';
$_config['memory']['redis']['serializer'] = 1;

3.3.页面查看是否生效

点击管理中心

点击全局—性能优化—内存优化

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
7天前
|
缓存 NoSQL Java
Redis应用—8.相关的缓存框架
本文介绍了Ehcache和Guava Cache两个缓存框架及其使用方法,以及如何自定义缓存。主要内容包括:Ehcache缓存框架、Guava Cache缓存框架、自定义缓存。总结:Ehcache适合用作本地缓存或与Redis结合使用,Guava Cache则提供了更灵活的缓存管理和更高的并发性能。自定义缓存可以根据具体需求选择不同的数据结构和引用类型来实现特定的缓存策略。
Redis应用—8.相关的缓存框架
|
1月前
|
存储 NoSQL Redis
Docker 部署 Redis
在使用 Docker 部署 Redis 时,为实现数据持久化,需正确挂载容器内的数据目录到宿主机。推荐命令如下: ``` docker run -d --name redis -v /mnt/data/redis:/data -p 6379:6379 redis ``` 该命令将宿主机的 `/mnt/data/redis` 目录挂载到容器的 `/data` 目录,确保 Redis 数据持久化。此路径更通用,适合大多数场景。避免使用不匹配的挂载路径,如 `/var/lib/redis` 或 `/mnt/data/redis` 到非默认目录,以防止数据无法正确持久化。
|
3天前
|
存储 缓存 NoSQL
Redis缓存设计与性能优化
Redis缓存设计与性能优化涵盖缓存穿透、击穿、雪崩及热点key重建等问题。针对缓存穿透,可采用缓存空对象或布隆过滤器;缓存击穿通过随机设置过期时间避免集中失效;缓存雪崩需确保高可用性并使用限流熔断组件;热点key重建利用互斥锁防止大量线程同时操作。此外,开发规范强调键值设计、命令使用和客户端配置优化,如避免bigkey、合理使用批量操作和连接池管理。系统内核参数如vm.swappiness、vm.overcommit_memory及文件句柄数的优化也至关重要。慢查询日志帮助监控性能瓶颈。
30 9
|
1月前
|
缓存 NoSQL 中间件
Redis,分布式缓存演化之路
本文介绍了基于Redis的分布式缓存演化,探讨了分布式锁和缓存一致性问题及其解决方案。首先分析了本地缓存和分布式缓存的区别与优劣,接着深入讲解了分布式远程缓存带来的并发、缓存失效(穿透、雪崩、击穿)等问题及应对策略。文章还详细描述了如何使用Redis实现分布式锁,确保高并发场景下的数据一致性和系统稳定性。最后,通过双写模式和失效模式讨论了缓存一致性问题,并提出了多种解决方案,如引入Canal中间件等。希望这些内容能为读者在设计分布式缓存系统时提供有价值的参考。感谢您的阅读!
130 6
Redis,分布式缓存演化之路
|
2月前
|
存储 缓存 NoSQL
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
云端问道21期方案教学-应对高并发,利用云数据库 Tair(兼容 Redis®*)缓存实现极速响应
|
2月前
|
缓存 NoSQL 关系型数据库
云端问道21期实操教学-应对高并发,利用云数据库 Tair(兼容 Redis®)缓存实现极速响应
本文介绍了如何通过云端问道21期实操教学,利用云数据库 Tair(兼容 Redis®)缓存实现高并发场景下的极速响应。主要内容分为四部分:方案概览、部署准备、一键部署和完成及清理。方案概览中,展示了如何使用 Redis 提升业务性能,降低响应时间;部署准备介绍了账号注册与充值步骤;一键部署详细讲解了创建 ECS、RDS 和 Redis 实例的过程;最后,通过对比测试验证了 Redis 缓存的有效性,并指导用户清理资源以避免额外费用。
|
3月前
|
缓存 监控 NoSQL
Redis经典问题:缓存穿透
本文详细探讨了分布式系统和缓存应用中的经典问题——缓存穿透。缓存穿透是指用户请求的数据在缓存和数据库中都不存在,导致大量请求直接落到数据库上,可能引发数据库崩溃或性能下降。文章介绍了几种有效的解决方案,包括接口层增加校验、缓存空值、使用布隆过滤器、优化数据库查询以及加强监控报警机制。通过这些方法,可以有效缓解缓存穿透对系统的影响,提升系统的稳定性和性能。
|
JSON NoSQL 前端开发
Redis简单案例(一) 网站搜索的热搜词
原文:Redis简单案例(一) 网站搜索的热搜词   对于一个网站来说,无论是商城网站还是门户网站,搜索框都是有一个比较重要的地位,它的存在可以说是 为了让用户更快、更方便的去找到自己想要的东西。对于经常逛这个网站的用户,当然也会想知道在这里比较“火” 的东西是什么,这个时候我们搜索框上的热词就起作用了。
1467 0
|
3月前
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
207 85
|
5月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
108 6