ubuntu 20.0.4 LTS 下Redis 2.6.5 源码编译安装

redis 源码编译安装

redis 官方网址:http://www.redis.io

一、准备环境

unbuntu 版本及环境

image-20211001210347290

# 安装源码编译工具 配置工具等环境
sudo apt install gcc make pkg-config -y 

image-20211001212840078

二、下载解压安装

下载解压安装

# 下载
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
# 解压
tar -zxvf redis-6.2.5.tar.gz
# 进入解压后的目录
cd reids-6.2.5
# 编译生成并安装 如果没有/usr/local/redis目录 会自己创建,注意PREFIX必须为大写
sudo make PREFIX=/usr/local/redis install 
#安装完成后 /usr/local/redis/bin目录下

image-20211001214306955

cd /usr/local/redis

sudo mkdir data logs conf 建立相关的目录

image-20211001214435250

redis官方参考安装说明wget https://download.redis.io/releases/redis-6.2.5.tar.gz 下载

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zwNQTDSm-1633609008545)(assets/image-20211001214758209.png)]

三、常用配置redis.conf

cd /usr/local/redis

sudo mkdir logs data conf #建立相关的目录

sudo cp redis.conf /usr/local/redis/conf #复制配置文件到软件配置目录下

image-20211001211358633

image-20211001211308402

sudo vim /usr/local/redis/conf/redis.conf #修改配置文件

75 bind 127.0.0.1 -::1 注释此行
#bind 127.0.0.1 -::1

94 protected-mode yes 修改为
protected-mode no

98 port 6379 此行不用修改

257 daemonize no 修改为
daemonize yes

289 pidfile /var/run/redis_6379.pid 此行不变和/etc/systemd/system/redis.service内容一样

302 logfile "" 修改为
logfile "/usr/local/redis/logs/redis.log"

431 dbfilename dump.rdb 此行不变,为数据库名

454 dir ./ 修改为
dir /usr/local/redis/data/

901 # requirepass foobared 修改为取消注释,设置密码
requirepass 123456

四、系统启动服务

cd /etc/systemd/system

sudo vim redis.service 建立服务配置文件

[Unit]
Description=Advanced key-value store
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecStop=/bin/kill -s TERM $MAINPID
PIDFile=/var/run/redis_6379.pid
Restart=always
RestartSec=5s
Restart=on-failure


[Install]
WantedBy=multi-user.target
Alias=redis.service

image-20211001205254742

sudo reboot #重新启动系统,查看服务及程序目录

image-20211001210557102

五、ufw防火墙设置

webrx@us:~$ sudo ufw status
[sudo] password for webrx: 
Status: inactive
webrx@us:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
webrx@us:~$ sudo ufw status
Status: active
webrx@us:~$ sudo systemctl status ufw
● ufw.service - Uncomplicated firewall
     Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enabled)
     Active: active (exited) since Fri 2021-10-01 13:04:16 UTC; 42min ago
       Docs: man:ufw(8)
    Process: 507 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SUCCESS)
   Main PID: 507 (code=exited, status=0/SUCCESS)

Warning: journal has been rotated since unit was started, output may be incomplete.
webrx@us:~$ sudo ufw allow ssh
Rule added
Rule added (v6)
webrx@us:~$ sudo ufw allow 6379/tcp
Rule added
Rule added (v6)
webrx@us:~$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere                  
6379/tcp                   ALLOW       Anywhere                  
22/tcp (v6)                ALLOW       Anywhere (v6)             
6379/tcp (v6)              ALLOW       Anywhere (v6)             

webrx@us:~$ 

六、数据库测试

6.1 本机测试

image-20211001215529294

6.2 远程测试

image-20211001215346378

### Ubuntu 20.04LTS版本的区别 Ubuntu 是一种基于 Debian 的 Linux 发行版,其发布周期分为两种主要类型:标准版本(Standard Release)和长期支持版本(Long Term Support, LTS)。以下是关于这两者之间区别的详细介绍: #### 标准版本的特点 标准版本通常每六个月发布一次,旨在提供最新功能和技术改进。这些版本适合希望尝试新技术并愿意接受潜在不稳定性的用户。然而,它们的支持周期较短,一般只有 **9个月** 的维护期。 对于 Ubuntu 20.04 而言,如果它是作为一个普通的标准版本存在,则不会被标记为 LTS,并且它的生命周期和支持范围会显著缩短[^1]。 #### LTS版本的特点 相比之下,LTS 版本每隔两年才会推出一次新版本,专注于稳定性、安全性和对企业环境中的适用性。Ubuntu 20.04 LTS (Focal Fossa),正如所提到的那样,是一个长期支持版本,它承诺提供长达 **五年** 的技术支持和服务,直至 2025 年结束[^2]。这种延长的支持期限使得 LTS 成为企业部署的理想选择,因为可以减少频繁升级带来的风险和成本。 此外,在实际应用层面,LTS 版本经过更广泛的测试过程来确保更高的可靠性,同时也会定期收到重要的安全性补丁和关键错误修复而不改变基础系统结构[^3]。 #### 技术实现上的差异 从技术角度来看,两者的主要区别体现在以下几个方面: - **软件包更新频率**: 标准版本可能包含更多实验性质的功能或者刚发布的应用程序;而 LTS 则倾向于采用更加成熟稳定的组件集合。 - **社区关注度**: 由于 生命周期较长,LTS 受到开发者更大的关注力度,拥有更多的文档资料以及第三方工具兼容适配工作完成得更好. 下面给出一段简单的 Python 脚本来检测当前运行的操作系统的版本号是否属于某个特定系列: ```python import platform def check_ubuntu_version(): version = platform.release() if '20.04' in version and '-lts' not in version.lower(): return f"This is a standard release of Ubuntu {version}." elif '20.04' in version and '-lts' in version.lower(): return f"This is an LTS release of Ubuntu {version}." print(check_ubuntu_version()) ``` 此脚本通过调用 `platform` 库获取操作系统的具体版本信息,并判断该版本是否带有 `-lts` 后缀以区分普通版本与 LTS 版本。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值