当前位置: 首页 > article >正文

828华为云征文 | 云服务器Flexus X实例:源码安装 Redis 实例测评

目录

一、购买云服务器Flexus

二、源码安装 Redis 实例

1.1 apt 安装

 1.2 源码安装

三、编译源码

四、运行 Redis

五、设置开机自启动

六、远程连接Redis

6.1 安装 redis 客户端

6.2 远程连接

七、总结


最近使用了云服务器Flexus X实例发现非常好用,云服务器Flexus X实例柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。本篇文章主要介绍如何使用云服务器Flexus X实例,以及在云服务器Flexus X实例中通过源码安装 Redis 数据库,设置开机自启动,并进行远程连接,赶紧来看下吧。

一、购买云服务器Flexus

点击进入官网,界面如下所示。

点击购买,进入配置页面,如下所示。

如上所示,可以自定义 vCPU 和内存,配置完参数后选择下一步。

然后,勾选协议许可,点击购买即可。 

 通过 CloudShell 进入 云服务器Flexus X实例,界面如下所示。

Flexus云服务器X实例 具有柔性算力随心配、一直加速一直快、越用越省降本多、安全可靠更放心等优势。

下面就在 云服务器Flexus X实例 上源码安装 Redis。

二、源码安装 Redis 实例

下面先来看下通过 apt 的方式安装 Redis,然后介绍通过源码安装 Redis。

1.1 apt 安装

首先,需要到 Redis 官网去下载 Redis 源码包,点击进入官网,点击可以根据不同使用平台选择不同的方式安装,本文以 Linux 为例,点击 Install Redis on Linux,如下图所示。

 点击 Install Redis on Linux 后,按照如下命令安装。

执行如下命令安装依赖。

root@flexusx-7305:~# sudo apt-get install lsb-release curl gpg
Reading package lists... Done
Building dependency tree       
Reading state information... Done
lsb-release is already the newest version (11.1.0ubuntu2).
curl is already the newest version (7.68.0-1ubuntu2.22).
gpg is already the newest version (2.2.19-3ubuntu2.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@flexusx-7305:~# curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
root@flexusx-7305:~# sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
root@flexusx-7305:~# echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb focal main
root@flexusx-7305:~# sudo apt-get update
Hit:1 http://repo.huaweicloud.com/ubuntu focal InRelease
Get:2 http://repo.huaweicloud.com/ubuntu focal-updates InRelease [128 kB]
Hit:3 http://repo.huaweicloud.com/ubuntu focal-backports InRelease
Get:4 http://repo.huaweicloud.com/ubuntu focal-security InRelease [128 kB]
Get:5 http://repo.huaweicloud.com/ubuntu focal-updates/main i386 Packages [1,027 kB]
Get:6 http://repo.huaweicloud.com/ubuntu focal-updates/main amd64 Packages [3,549 kB]             
Get:7 http://repo.huaweicloud.com/ubuntu focal-updates/main Translation-en [548 kB]                          
Get:8 http://repo.huaweicloud.com/ubuntu focal-updates/main amd64 c-n-f Metadata [17.7 kB]                  

通过 apt-get 安装 Reids,如下所示。

root@flexusx-7305:~# sudo apt-get install redis
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  redis-server redis-tools
Suggested packages:
  ruby-redis
The following NEW packages will be installed:
  redis redis-server redis-tools
0 upgraded, 3 newly installed, 0 to remove and 31 not upgraded.
Need to get 1,438 kB of archives.
After this operation, 9,189 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 https://packages.redis.io/deb focal/main amd64 redis-tools amd64 6:7.4.0-1rl1~focal1 [1,331 kB]
Get:2 https://packages.redis.io/deb focal/main amd64 redis-server amd64 6:7.4.0-1rl1~focal1 [77.6 kB]
Get:3 https://packages.redis.io/deb focal/main amd64 redis all 6:7.4.0-1rl1~focal1 [29.7 kB]
Fetched 1,438 kB in 5s (272 kB/s)
Selecting previously unselected package redis-tools.
(Reading database ... 116709 files and directories currently installed.)
Preparing to unpack .../redis-tools_6%3a7.4.0-1rl1~focal1_amd64.deb ...
Unpacking redis-tools (6:7.4.0-1rl1~focal1) ...
Selecting previously unselected package redis-server.
Preparing to unpack .../redis-server_6%3a7.4.0-1rl1~focal1_amd64.deb ...
Unpacking redis-server (6:7.4.0-1rl1~focal1) ...
Selecting previously unselected package redis.
Preparing to unpack .../redis_6%3a7.4.0-1rl1~focal1_all.deb ...
Unpacking redis (6:7.4.0-1rl1~focal1) ...
Setting up redis-tools (6:7.4.0-1rl1~focal1) ...
Setting up redis-server (6:7.4.0-1rl1~focal1) ...
Setting up redis (6:7.4.0-1rl1~focal1) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for systemd (245.4-4ubuntu3.23) ...
root@flexusx-7305:~# 

Redis 安装成功。

 1.2 源码安装

下面通过源码的方式安装 Redis,选择 Install Redis from Source,如下图所示。

如下所示,执行 wget 命令下载软件包。

执行如下命令下载 redis 源码

wget https://download.redis.io/redis-stable.tar.gz

下载成功,如下图所示。

执行如下命令解压 Redis。

root@flexusx-7305:~# tar -zxvf redis-stable.tar.gz

解压成功,如下所示。

下载源码并解压后,接下来需要编译源码。

三、编译源码

安装 Redis 编译需要的环境。

root@flexusx-7305:~# sudo apt install build-essential -y

执行如上命令安装编译 C/C++ 依赖的软件包,例如:gcc、g++、make等。

进入 redis-stable 目录,执行如下命令编译源码。

root@flexusx-7305:~/redis-stable# sudo make -j4
cd src && make all
make[1]: Entering directory '/root/redis-stable/src'
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
    CC Makefile.dep
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep *.so
rm -f threads_mngr.d adlist.d quicklist.d ae.d anet.d dict.d ebuckets.d mstr.d kvstore.d server.d sds.d zmalloc.d lzf_c.d lzf_d.d pqsort.d zipmap.d sha1.d ziplist.d release.d networking.d util.d object.d db.d replication.d rdb.d t_string.d t_list.d t_set.d t_zset.d t_hash.d config.d aof.d pubsub.d multi.d debug.d sort.d intset.d syncio.d cluster.d cluster_legacy.d crc16.d endianconv.d slowlog.d eval.d bio.d rio.d rand.d memtest.d syscheck.d crcspeed.d crc64.d bitops.d sentinel.d notify.d setproctitle.d blocked.d hyperloglog.d latency.d sparkline.d redis-check-rdb.d redis-check-aof.d geo.d lazyfree.d module.d evict.d expire.d geohash.d geohash_helper.d childinfo.d defrag.d siphash.d rax.d t_stream.d listpack.d localtime.d lolwut.d lolwut5.d lolwut6.d acl.d tracking.d socket.d tls.d sha256.d timeout.d setcpuaffinity.d monotonic.d mt19937-64.d resp_parser.d call_reply.d script_lua.d script.d functions.d function_lua.d commands.d strl.d connection.d unix.d logreqres.d anet.d adlist.d dict.d redis-cli.d zmalloc.d release.d ae.d redisassert.d crcspeed.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d strl.d cli_commands.d ae.d anet.d redis-benchmark.d adlist.d dict.d zmalloc.d redisassert.d release.d crcspeed.d crc64.d siphash.d crc16.d monotonic.d cli_common.d mt19937-64.d strl.d
(cd ../deps && make distclean)
make[2]: Entering directory '/root/redis-stable/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(cd hdr_histogram && make clean) > /dev/null || true
(cd fpconv && make clean) > /dev/null || true
(rm -f .make-*)
make[2]: Leaving directory '/root/redis-stable/deps'
(cd modules && make clean)
make[2]: Entering directory '/root/redis-stable/src/modules'
rm -rf *.xo *.so
make[2]: Leaving directory '/root/redis-stable/src/modules'
(cd ../tests/modules && make clean)
make[2]: Entering directory '/root/redis-stable/tests/modules'
rm -f commandfilter.so basics.so testrdb.so fork.so infotest.so propagate.so misc.so hooks.so blockonkeys.so blockonbackground.so scan.so datatype.so datatype2.so auth.so keyspace_events.so blockedclient.so getkeys.so getchannels.so test_lazyfree.so timer.so defragtest.so keyspecs.so hash.so zset.so stream.so mallocsize.so aclcheck.so list.so subcommands.so reply.so cmdintrospection.so eventloop.so moduleconfigs.so moduleconfigstwo.so publish.so usercall.so postnotifications.so moduleauthtwo.so rdbloadsave.so crash.so commandfilter.xo basics.xo testrdb.xo fork.xo infotest.xo propagate.xo misc.xo hooks.xo blockonkeys.xo blockonbackground.xo scan.xo datatype.xo datatype2.xo auth.xo keyspace_events.xo blockedclient.xo getkeys.xo getchannels.xo test_lazyfree.xo timer.xo defragtest.xo keyspecs.xo hash.xo zset.xo stream.xo mallocsize.xo aclcheck.xo list.xo subcommands.xo reply.xo cmdintrospection.xo eventloop.xo moduleconfigs.xo moduleconfigstwo.xo publish.xo usercall.xo postnotifications.xo moduleauthtwo.xo rdbloadsave.xo crash.xo
make[2]: Leaving directory '/root/redis-stable/tests/modules'
(rm -f .make-*)
echo STD=-pedantic -DREDIS_STATIC='' -std=gnu11 >> .make-settings
echo WARN=-Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes >> .make-settings
echo OPT=-O3 -flto=auto -fno-omit-frame-pointer >> .make-settings
echo MALLOC=jemalloc >> .make-settings
echo BUILD_TLS= >> .make-settings
echo USE_SYSTEMD= >> .make-settings
echo CFLAGS= >> .make-settings
echo LDFLAGS= >> .make-settings
echo REDIS_CFLAGS= >> .make-settings
echo REDIS_LDFLAGS= >> .make-settings
echo PREV_FINAL_CFLAGS=-pedantic -DREDIS_STATIC='' -std=gnu11 -Wall -W -Wno-missing-field-initializers -Werror=deprecated-declarations -Wstrict-prototypes -O3 -flto=auto -fno-omit-frame-pointer -g -ggdb   -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -I../deps/hdr_histogram -I../deps/fpconv -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings
echo PREV_FINAL_LDFLAGS= -O3 -flto=auto -fno-omit-frame-pointer  -g -ggdb -rdynamic >> .make-settings
(cd ../deps && make hiredis linenoise lua hdr_histogram fpconv jemalloc)
make[2]: Entering directory '/root/redis-stable/deps'
(cd hiredis && make clean) > /dev/null || true
(cd linenoise && make clean) > /dev/null || true
(cd lua && make clean) > /dev/null || true
(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true
(cd hdr_histogram && make clean) > /dev/null || true
(cd fpconv && make clean) > /dev/null || true
(rm -f .make-*)
(echo "" > .make-cflags)
(echo "" > .make-ldflags)
MAKE hiredis

编译并按照 Redis 成功,接下来运行 Redis。

四、运行 Redis

配置 redis-server,将源码目录下的 redis.conf 配置文件拷贝到安装目录,执行如下命令。

root@flexusx-7305:~# mkdir /usr/local/redis/
root@flexusx-7305:~# cp redis-stable/redis.conf /usr/local/redis/

 修改 redis.conf 文件,如下所示。

# (1)修改1
# 将 daemonize no 修改为 daemonize yes,设置后台运行
daemonize yes
 
# (2)修改2
# 指定 log 文件路径
logfile "/var/log/redis-server.log"
 
# (3)修改3
# 设置登录密码
requirepass 123456

启动 redis-server,执行如下命令。

root@flexusx-7305:~# redis-server /usr/local/redis/redis.conf 
root@flexusx-7305:~# ps -ef | grep redis
root        1531       1  0 20:23 ?        00:00:00 redis-server 127.0.0.1:6379
root        1540    1468  0 20:23 pts/0    00:00:00 grep --color=auto redis
root@flexusx-7305:~#

通过客户端访问,执行如下命令。

root@hcss-ecs-f276:~# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 
root@hcss-ecs-f276:~#

auth 后面是配置文件 redis.conf 中设置的登录密码,输入 ping,返回 PONG 表示连接 Redis 服务器成功。

关闭 redis-server,执行如下命令。

root@flexusx-7305:~# redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> quit
root@flexusx-7305:~# redis-cli 
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> shutdown
not connected> 
not connected> 
root@flexusx-7305:~# ps -ef | grep redis
root        1604    1468  0 20:27 pts/0    00:00:00 grep --color=auto redis
root@flexusx-7305:~#

 

五、设置开机自启动

 拷贝启动脚本  redis_init_script 到目录 /etc/init.d/redis 下,执行命令如下所示。

root@flexusx-7305:~# cp redis-stable/utils/redis_init_script /etc/init.d/redis

修改  /etc/init.d/redis 文件如下所示。 

REDISPORT=6379
EXEC=/usr/bin/redis-server
CLIEXEC=/usr/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/etc/redis/${REDISPORT}.conf"

在上述代码中,CONF 表示读取的配置文件的路径,需要在 /etc 目录下创建 redis 目录,并将 redis.conf 拷贝到 /etc/redis/ 下重命名为 6379.conf,执行如下命令配置。

root@flexusx-7305:/etc/redis# sudo cp /usr/local/redis/redis.conf /etc/redis/6379.conf

将 redis 加入到开启自启动,并启动 redis 服务,执行命令如下所示。

root@flexusx-7305:~# sudo update-rc.d -f redis defaults
root@flexusx-7305:~# systemctl restart redis
root@flexusx-7305:~# systemctl status redis
● redis.service - LSB: Redis data structure server
     Loaded: loaded (/etc/init.d/redis; generated)
     Active: active (running) since Thu 2024-09-12 20:40:30 CST; 1s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 2051 ExecStart=/etc/init.d/redis start (code=exited, status=0/SUCCESS)
      Tasks: 6 (limit: 13787)
     Memory: 3.2M
     CGroup: /system.slice/redis.service
             └─2053 /usr/bin/redis-server 127.0.0.1:6379

Sep 12 20:40:30 flexusx-7305 systemd[1]: Starting LSB: Redis data structure server...
Sep 12 20:40:30 flexusx-7305 redis[2051]: Starting Redis server...
Sep 12 20:40:30 flexusx-7305 systemd[1]: Started LSB: Redis data structure server.
root@flexusx-7305:~# 

 

六、远程连接Redis

6.1 安装 redis 客户端

点击进入下载 redis客户端,选择对应文件下载即可。 

6.2 远程连接

安装完成后,点击 New Connection ,填写配置如下所示。

 点击 OK 后即可连接成功,界面如下所示。

七、总结

通过购买并使用Flexus云服务器X实例 ,并在Flexus云服务器X实例​​​​​​​ 中通过源码编译安装 Redis,最后通过远程连接 Redis,使用Flexus云服务器X实例 非常方便、高效,使用过程中不卡顿、上手更简单、管理特省心,有需要的赶紧来试用下吧。 


http://www.kler.cn/news/302346.html

相关文章:

  • GPT撰写开题报告教程——课题确定及文献调研
  • ubuntu打包命令
  • SAP B1 单据页面自定义 - 用户界面编辑字段
  • 面试高阶问题:单片机选型策略万字长文详解
  • 关于GPT5训练失败的思考
  • CRM客户关系管理系统开发源码小程序
  • 【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
  • FEDERATED引擎
  • 更改flutter 应用的应用名称和图标
  • PHP一键约课高效健身智能健身管理系统小程序源码
  • vue3打包 error in node_modules/@types/node/stream/web.d.ts 错误解决办法
  • Centos7安装MySql(特详细)
  • 栈的内容..
  • Python Flask简介
  • 【2023年】云计算金砖牛刀小试6
  • 用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
  • 配网行波故障预警与定位装置:行波定位技术原理的详细分析
  • 网页时装购物:Spring Boot框架的创新应用
  • 国产游戏的机遇和挑战
  • git 笔记记录
  • SAP 公司间采购配置简介
  • selenium中键盘操作:Keys类
  • JDBC笔记
  • Leetcode Hot 100刷题记录 -Day14(矩阵置0)
  • MySQL事物原理
  • Python知识点:如何使用Python进行邮件自动化(smtplib、email)
  • el-table使用合计和固定列时,滚动条被覆盖区域无法拖拽问题
  • SDL 2.0视频数据渲染到窗口上播放流程
  • 20240909软考架构-------软考136-140答案解析
  • vba发邮件:如何设置自动化发送电子邮件?