ubuntu 部署redis

  1. Redis

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

所有历史版本下载地址:http://download.redis.io/releases/

redis中文文档地址:http://www.redis.cn/documentation.html

Linux安装部署Redis_linux redis安装部署-CSDN博客

Linux下Redis的安装和部署_redis在linux部署-CSDN博客

Linux环境下安装部署redis-腾讯云开发者社区-腾讯云

5.1)安装redis的时候遇到的问题

5.1.1)下载redis7.2.4

5.1.2)安装gcc  sudo apt install gcc

5.1.3)安装make  sudo apt install make

5.1.4)sudo mv redis-7.2.4 /usr/local/redis下

5.1.5)make  这个没指定目录 ,不知道redis安装到了哪里,而且不知道怎么启动,找不到启动目录

5.1.6)cd src   make install

/usr/local/bin  (redis运行文件所在地)redis-benchmark  redis-check-aof  redis-check-rdb  redis-cli  redis-sentinel  redis-server

/usr/local/lib  (redis 库文件所在目录) 空目录

/usr/local/etc  (redis配置文件所在目录)空目录

不知道怎么修改配置文件,在/usr/local/etc下没有redis的信息

Redis.conf在我们copy到放置的/usr/local/redis下

5.1.7)ps -elf |grep redis  才能看到 redis进程号

5.1.8)禁用 bind=127.0.0.1 可以让所有ip都可以访问,否则只有本机可以访问

5.1.9)启用  daemonize yes  会有warning出现

WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Bein        g disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_mem        ory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

解决办法:sudo vim /etc/sysctl.conf

在最后加

vm.overcommit_memory = 1

修改redis密码

requirepass 123456

修改redis日志:q

logfile "wzredis.lo”  这个要加目录吗?

修改样本数量

maxmemory-samples 5

Maxmemory 设置

# maxmemory <bytes>

maxmemory 512M

  1. 安装redis 第二次

Mv redis-7.2.4 /usr/local/redis

Cd  /usr/local/reids

6.1)make PREFIX=/usr/local/redis install

6.2)mkdir log  (用于存放日志)

daemonize yes   (开启守护)

dir /usr/local/redis/bin  (为了使redis-server可以在任意目录执行)

appendonly yes   (每次redis有数据更新都写日志,以防掉电丢数据)

Port 6378

#bind 127.0.0.1 -::1   所有ip都可以访问

Timeout  300   客户端闲置300秒关闭连接

maxclients 10000  最大客户连接数限制

开机脚本

Cp redis_init_script /etc/init.d/redisd  (重新启动了个名字)

默认redis下的utils下有个redis_init_script 这个就可以作为启动脚本

由于redis存放路径的不同,我们修改了几个配置

REDISPORT=6379

#EXEC=/usr/local/bin/redis-server

EXEC=/usr/local/redis/bin/redis-server

#CLIEXEC=/usr/local/bin/redis-cli

CLIEXEC=/usr/local/redis/bin/redis-cli

PIDFILE=/var/run/redis_${REDISPORT}.pid

#CONF="/etc/redis/${REDISPORT}.conf"

CONF="/usr/local/redis/redis.conf"

case "$1" in

    start)

        if [ -f $PIDFILE ]

        then

                echo "$PIDFILE exists, process is already running or crashed"

        else

                echo "Starting Redis server..."

                $EXEC $CONF

        fi

        ;;

    stop)

        if [ ! -f $PIDFILE ]

        then

                echo "$PIDFILE does not exist, process is not running"

        else

                PID=$(cat $PIDFILE)

                echo "Stopping ..."

                $CLIEXEC -p $REDISPORT shutdown

                while [ -x /proc/${PID} ]

                do

                    echo "Waiting for Redis to shutdown ..."

                    sleep 1

                done

                echo "Redis stopped"

        fi

        ;;

    *)

        echo "Please use start or stop as first argument"

        ;;

esac

Ubuntu 开机自启动

Vim  /lib/systemd/system/rc-local.service

[Unit]

Description=/etc/rc.local Compatibility

Documentation=man:systemd-rc-local-generator(8)

ConditionFileIsExecutable=/etc/rc.local

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=yes

GuessMainPID=no

[Install]

WantedBy=multi-user.target

Alias=rc-local.service

增加最后3行

Sudo  vim /etc/rc.local

#!/bin/bash

whoami >> /usr/test.log

/etc/init.d/redisd  start

exit 0

Sudo chmod +x /etc/rc.local

Reboot 重启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解Python中的生成器与迭代器:概念、区别与实战应用

深入理解Python中的生成器与迭代器&#xff1a;概念、区别与实战应用 开篇 在Python编程世界中&#xff0c;生成器&#xff08;Generators&#xff09;和迭代器&#xff08;Iterators&#xff09;是两个核心概念&#xff0c;它们在处理大型数据集、节省内存以及实现高效循环结…

Verilog实现手表计时

实现手表的计时功能&#xff1a; 1.具有start启动信号、pause暂停信号&#xff0c;可以自定义其触发机制。 2.具有时间更改接口&#xff0c;可以更改时、分、秒。 3.输出时、分、秒。 Verilog设计 模块端口定义&#xff1a; module watch1(input wire clk …

STC89C52学习笔记(七)

STC89C52学习笔记&#xff08;七&#xff09; 综述&#xff1a;本文介绍了串口以及讲述了串口相关寄存器如何配置并给予相关代码。 一、修改代码注意事项 在修改代码时不要一次性加入一堆代码&#xff0c;不利于定位错误。可以先注释一些代码&#xff0c;待解决完毕问题后再…

Angular 使用DomSanitizer

跨站脚本Cross-site scripting 简称XSS&#xff0c;是代码注入的一种&#xff0c;是一种网站应用程序的安全漏洞攻击。它允许恶意用户将代码注入到网页上&#xff0c;其他用户在使用网页时就会收到影响&#xff0c;这类攻击通常包含了HTML和用户端脚本语言&#xff08;JS&…

ES6基础(JavaScript基础)

本文用于检验学习效果&#xff0c;忘记知识就去文末的链接复习 1. ECMAScript介绍 ECMAScript是一种由Ecma国际&#xff08;前身为欧洲计算机制造商协会&#xff0c;英文名称是European Computer Manufacturers Association&#xff09;通过ECMA-262标准化的脚本程序设计语言…

基于拉格朗日分布算法的电动汽车充放电调度MATLAB程序

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 程序简介 该模型主要做的是基于拉格朗日分布算法的电动汽车充放电调度模型。利用蒙特卡洛模拟法模拟出电动汽车负荷曲线&#xff0c;并求解出无序充电功率曲线和有序充电曲线&#xff0c;该模型在电动汽车个…

思维题锻炼-最小数字

思维题锻炼-最小数字 目录题目描述输入样例输出样例代码 目录 题目描述 给一串数字&#xff0c;求出最小的整数&#xff0c;不能是原数字串中的数字&#xff0c;也不能由数字串中的数字相加得到 输入样例 5 2 1输出样例 4代码 #include<bits/stdc.h> #include<s…

逆向案例十六——简单webpack逆向,财联社信息

网址链接&#xff1a;财联社A股24小时电报-上市公司动态-今日股市行情报道 数据包sign参数为加密&#xff0c;可以直接搜索找参数的位置&#xff0c;搜索不到的情况下&#xff0c;在断点跟栈&#xff1a; 确定js文件所在位置&#xff0c;并打上断点。 点击加载刷新页面。可以发…

REST API实战演练之JavaScript使用Rest API

咱们前面讲了一下如何创建REST API 假期别闲着&#xff1a;REST API实战演练之创建Rest API-CSDN博客 又讲了java客户端如何使用REST API 假期别闲着&#xff1a;REST API实战演练之客户端使用Rest API-CSDN博客 接下来咱们看看JavaScript怎么使用REST API。 一、新建一个…

vue3第十七节(特殊属性key,is,ref)

本节说明介绍vue3中的特殊属性&#xff1a;key、is、ref&#xff1b; 其中key、is用法vue2、vue3基本一致&#xff0c;而ref在vue3 中与vue2中出入较大 1、key作用与用途 vue3与vue2的diff虚拟算法不相同&#xff0c;后续章节会专门介绍 vue使用虚拟算法时&#xff0c;用于标…

Log4J2漏洞(CVE-2024-44228)原理_log4j2漏洞原理,网络安全面试项目

Apache log4j2-RCE 漏洞 一、漏洞简介 二、漏洞原理 三、靶场漏洞复现 四、总结 Apache log4j2-RCE 漏洞 一、漏洞简介 Apache Log4j2是一个基于Java的日志记录工具&#xff0c;当前被广泛应用于业务系统开发&#xff0c;开发 者可以利用该工具将程序的输入输出信息进行日…

Feature Pyramid Networks for object detection

FPN 总述1.引言2.相关工作3. Feature Pyramid NetworksBottom-up pathwayTop-down pathway and lateral connections 4. 应用用于 RPN用于 Fast R-CNN 核心代码复现FPN网络结构ResNet Bottleneck完整代码 总述 下图中&#xff0c;蓝色边框表示的是特征图&#xff0c;边框越粗表…

spring test配合junit4 实现单元测试

引入依赖 <!--下面两个是测试相关的jar包--> <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.1.5.RELEASE</version> </dependency> <dependency><grou…

在Ubuntu Linux中安装boost库详细步骤

下载boost安装包 在Linux浏览器 Boost C Libraries 下载boost的最新版安装包 安装包解压缩 在安装目录中找到压缩包&#xff0c;右键点击压缩包&#xff0c;点击Extract to...解压缩至选择的目录 设置编译器 在解压缩后的目录中进入终端&#xff0c;运行命令&#xff1a; 如…

LeetCode 2529. 正整数和负整数的最大计数——每日一题

上一篇博客&#xff1a;LeetCode 993. 二叉树的堂兄弟节点——每日一题 写在前面&#xff1a;大家好&#xff01;我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正&#xff0c;感谢大家的不吝赐教。我的唯一博客更新地址是&#xff1a;https://ac-fun.…

力扣121. 买卖股票的最佳时机

Problem: 121. 买卖股票的最佳时机 文章目录 题目描述思路复杂度Code 题目描述 思路 1.定义一个int数组max大小同prices&#xff1b;定义int变量curMax初始化为0&#xff1b; 2.从后往前遍历数组&#xff0c;若当前元素prices[i] > curMax时&#xff0c;则使将其赋值给curMa…

43.基于SpringBoot + Vue实现的前后端分离-疫苗发布和接种预约系统(项目 + 论文)

项目介绍 本次使用Java技术开发的疫苗发布和接种预约系统&#xff0c;就是运用计算机来管理疫苗接种预约信息&#xff0c;该系统是可以实现论坛管理&#xff0c;公告信息管理&#xff0c;疫苗信息管理&#xff0c;医生管理&#xff0c;医院信息管理&#xff0c;用户管理&#x…

【ensp】VLAN间通信的解决办法

目录 VLAN间通信简介 VLAN间通信的两种方式 借助三层设备路由器进行VLAN间的通信&#xff08;也就是单臂路由&#xff09; 在端口上创建子接口之后为什么需要开启arp广播&#xff0c;是因为他是子接口吗? 拓扑图 交换机配置 路由器配置 查看路由器配置 测试能否实现…

python统计分析——线性相关

参考资料&#xff1a;python统计分析【托马斯】 对于两个相关的变量&#xff0c;相关性度量的是两个变量之间的关联程度。相反&#xff0c;线性回归是用一个变量的值来预测另一个变量的值。 1、相关系数 两个变量之间的相关系数回答了这个问题&#xff1a;“这两个变量有关系吗…

谈谈Python中的单元测试和集成测试

谈谈Python中的单元测试和集成测试 Python中的单元测试和集成测试是软件开发过程中的重要环节&#xff0c;它们确保了代码的质量和稳定性。单元测试主要关注代码的最小可测试单元——通常是函数或类的方法&#xff0c;而集成测试则关注这些单元之间的协作和交互。下面&#xf…