linux 【阿里云服务器】 配置 redis 的正确流程
1.前言
我的域名备案前几天通过了,这篇随笔完整的记录 redis 的安装流程 与各种 问题 的 具体解决方案。
2.操作【跟着步骤来】
(1)指令cd /usr/local
进入local文件夹里面 ,
指令 mkdir redis
新建一个叫redis的文件夹,
指令cd redis
进入redis文件夹,
(2)将redis安装包【是个后缀 .tar.gz的压缩包】放于redis文件夹里,
可以使用下载网址直接下载
指令是 wget http://xxxx.xxx/xxx/sss.tar.gz
具体网址自己去官网查,将默认下载到当前文件夹内
或者直接拷贝压缩包进去
【我的是在window10 使用xftp 软件传输 压缩包到 远程 Linux 的 ,xftp具体操作在我其他随笔有详细记载】
(3)解压安装包[假设 包名 redis-5.0.8.tar.gz ]
指令 tar -zxvf redis-5.0.8.tar.gz
解压当前文件夹内的 名叫 redis-5.0.8.tar.gz 的压缩包
会自动在当前文件夹新建一个名为redis-5.0.8的文件夹 ,解压文件放在里面
(4)
指令 cd redis-5.0.8
继续进入该文件夹 ,
指令 make
编译安装文件 ,可能需要等一会,没那么快 。
指令 cd src
继续进入 src文件夹,
输入指令pwd 可查看当前位置路径,我当前在 /usr/local/redis/redis-5.0.8/src ,
指令 make test
测试是否可以安装,这个可能要等几分钟,第一次装会提示
You need tcl 8.5 or newer in order to run the Redis test
makeL:***[test] Error 1
因为 缺少TCL(Tool Command Language)工具脚本语言 ,需要安装
指令 wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
直接下载 tcl ,
指令 sudo tar xzvf tcl8.6.1-src.tar.gz -C /usr/local/
以管理员身份解压到指定位置 ,这里是解压到 /usr/local/ ,会新建一个叫 tcl8.6.1 的文件夹
指令 cd /usr/local/tcl8.6.1/unix/
进入 unix文件夹 ,
指令 sudo ./configure
以管理员身份执行./configure
指令sudo make
以管理员身份编译
指令 sudo make install
以管理员身份安装,
//
指令 /usr/local/redis/redis-5.0.8/src
再次进入src文件夹,
指令 make test
再次测试安装,当出现报错
"test_client_main $::test_server-port"
make: *** [test] Error 1
说明可以安装redis了,但是因为redis不需要安装,已经是个解压且编译好的文件,这不需要再安装,可直接使用
(5)查看端口是否被占用
指令 ps -ef | grep redis
写着 grep -- color=auto redis 是查询接口进程本身 ,不需要理会,将指令改成 ps -ef | grep r[e]dis 即可忽略显示 【只要在redis这个字符串加上[x] 即可 ,x表示redis字符串的一个字母 】
如果有进程使用 6379端口
指令 kill -9 967
强制关闭 进程数为 967 的进程
(6)修改redis.conf 配置文件 ,开启允许redis以服务的方式运行在后端
指令 vi /usr/local/redis/redis-5.0.8/redis.conf
直接进入编辑配置文件页面
按字符 i ,进入编辑模式
找到 daemonize 属性 设为yes
按esc后 ,按符号 : 然后输入 wq 再按回车即可保存并退出
(7)启动 redis
指令/usr/local/redis/redis-5.0.8/src
进入src文件夹,
指令 ./redis-server /usr/local/redis/redis-5.0.8/redis.conf
启动redis ,第一次启动需要 加入配置文件,之后可以不加 ,直接redis-server或 ./redis-server 启动 但是这需要当前在 /usr/local/redis/redis-5.0.8/src文件夹里面
也可以输入 vi /usr/local/redis/redis-5.0.8/src/redis-server 启动
出现图案
说明启动成功
但是第一次搭建redis会报3个错
从上到下三个错误的原因是
(1)tcp设置的值太小了,需要修改更大的才行
(2)overcommit_memory参数设置为0!在内存不足的情况下,后台程序save可能失败,需要设为1
(3)使用透明大页THP,可能导致redis延迟和内存使用问题,需要关闭
具体解决操作:
(1)
解决 错误1 和 2需要修改rc.local文件
指令 vi /etc/rc.local
修改 rc.local文件
修改后保存退出
(2)
解决错误3 需要 修改rc.local文件
指令 vi /etc/rc.local
添加内容
echo never > /sys/kernel/mm/transparent_hugepage/enabled
修改完后保存退出
然后重启linux系统后即可使用
重启指令 reboot
//
再次启动redis
没有再报错了,
如果启动指令使用 ./redis-server /usr/local/redis/redis-5.0.8/redis.conf
加上配置文件,将会以服务的方式后端运行,那么 按ctrl+c键不会关闭redis
(8)关闭redis服务
指令redis-cli shutdown
3.启动redis客户端
指令redis-cli --raw
指令exit
退出
4.设置系统开机自动启动
(1)
指令 vi /etc/init.d/redis
创建一个文件并进入
(2)编写脚本,路径根据实际情况写,只需要修改红色部分
#!/bin/sh
#chkconfig: 2345 80 90
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=6379 #端口号,这是默认的,如果你安装的时候不是默认端口号,则需要修改
REDISPATH=/usr/local/redis/redis-5.0.8/
#redis-server启动脚本的所在目录,你如果忘了可以用find / -name redis-server 或whereis redis-server找到
EXEC=${REDISPATH}/src/redis-server
CLIEXEC=${REDISPATH}/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid #在redis.conf中可找到该路径
CONF="${REDISPATH}/redis.conf" #redis.conf的位置, 如果不和redis-server在同一目录要修改成你的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
(3)设置启动权限
指令 chmod 777 /etc/init.d/redis
(4)现在试一下能不能启动
先检查是否有进程占用端口 6379
指令 ps -ef | grep redis
如果有以指令 kill -9 [进程数] 来关闭
指令cd /var/run
进入装有进程目录的文件夹run ,查看是否有文件 redis_6379.pid ,有则需要删除
删除指令 rm -f /var/run/redis_6379.pid
[当进程停止时对应的.pid文件会删除,开启时则会创建 ,但是有时候强制停止进程,会遗留 pid文件没有删除,因此需要手动删除]
好了现在可以试试了
指令/etc/init.d/redis start
启动redis
指令 /etc/init.d/redis stop
关闭redis
指令 redis-cli 或redis-cli --raw
连接redis客户端
[这样做的优势是可以在任意的当前目录位置运行redis指令]
(5)开机启动
如果当前Linux系统是 Ubuntu 的
则使用指令
//安装 sysv-rc-conf
apt-get update
apt-get install sysv-rc-conf
//设置自启动
sysv-rc-conf redis on
其他Linux系统使用
//设置自启动
chkconfig redis on
设置完后,
指令 reboot
重启操作系统等一会再连接查看即可
启动后指令查看进程
ps -ef | grep red[i]s
成功 ,撒花!!!
----------------------------
参看博文原址:
https://www.cnblogs.com/wumz/p/10236694.html
https://blog.csdn.net/philosophyatmath/article/details/88863136
https://blog.csdn.net/yup1212/article/details/82152106
https://blog.csdn.net/chen_jia_hao/article/details/83865551
https://www.cnblogs.com/s-p-l/p/10633488.html
https://blog.csdn.net/xiaomudouer/article/details/88847894
https://www.cnblogs.com/john-xiong/p/12098827.html
https://blog.csdn.net/weixin_33446857/article/details/80842037
https://www.cnblogs.com/byx1024/p/12228735.html
https://blog.csdn.net/u011712163/article/details/90903396
https://www.cnblogs.com/beautiful-code/p/9441954.html
https://blog.csdn.net/ztf312/article/details/83025297
https://www.jianshu.com/p/a73e0565e2a1
linux 【阿里云服务器】 配置 redis 的正确流程的更多相关文章
- linux阿里云服务器更换镜像的方法
linux阿里云服务器更换镜像的方法 1 先进入硬盘创建快照 生成自定义镜像 ps:他可以在阿里云各个服务器上共享 再左侧镜像 点击去可以看到共享 直接进ecs 关闭服务器 重新初始化硬盘 然后主界面 ...
- 配置远程访问阿里云服务器的Redis
1.默认情况Redis不是在后台运行,我们需要修改把redis放在后台运行:daemonize yes 2.Redis安全策略默认本机访问,所以远程访问的话需要将 bind 127.0.0.1加#注释 ...
- 阿里云服务器 配置 tomcat 发布spring boot项目 的具体操作 【使用公网ip】
1.前言 spring boot 转成war包 后用tomcat发布的具体操作在我另一篇随笔有详细记载,不论是window系统还是Linux系统,tomcat的发布配置都是一样的,所以这里不具体讲这个 ...
- 解决远程连接阿里云服务器的Redis失败问题
参考网址: https://www.pianshen.com/article/91461328818/ https://blog.csdn.net/weixin_42518709/article/de ...
- 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用
(原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...
- 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署
阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
随机推荐
- Django REST framework完全入门
Django REST framework 一个强大灵活的Django工具包,提供了便捷的 REST API 开发框架 我们用传统的django也可以实现REST风格的api,但是顶不住Django ...
- VectorCAST软件自动化测试方案
VectorCAST 是主要用于对C/C++/Ada程序进行软件自动化测试,并能够在Windows和Linux等多种开发环境下运行.其主要功能包含自动化的单元测试.集 成测试.覆盖率分析.回归测试.代 ...
- Mysql状态信息查询
目录 一.连接相关 二.show status 三.其它 一.连接相关 查看连接线程相关的系统变量的设置值 show variables like 'thread%'; 查看系统被连接的次数 show ...
- Log4j2再发新版本2.16.0,完全删除Message Lookups的支持,加固漏洞防御
昨天,Apache Log4j 团队再次发布了新版本:2.16.0! 2.16.0 更新内容 默认禁用JNDI的访问,用户需要通过配置log4j2.enableJndi参数开启 默认允许协议限制为:j ...
- Android工具 - 随机测试(猴子)
原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6697535 本文章的前提:已经安装了Eclipse和ADT.androi ...
- 一道栈溢出babystack
我太天真了,师傅说让我做做这个平台的题,我就注册了个号,信心满满的打开了change,找到了pwn,一看第一道题是babystack,我想着,嗯,十分钟搞定他!直到我下载了题目,题目给了libc,然后 ...
- word里搜狗输入法出不来,可以按ctrl+空格键
word里搜狗输入法出不来,可以按ctrl+空格键
- Flink的窗口处理机制(一)
一.为什么需要 window ? 在流处理应用中,数据是连续不断的,即数据是没有边界的,因此我们不可能等到所有数据都到了才开始处理.当然我们可以每来一个消息就处理一次,但是有时我们需要做一些聚合类的处 ...
- 资源分享 | PyTea:不用运行代码,静态分析pytorch模型的错误
前言 本文介绍一个Pytorch模型的静态分析器 PyTea,它不需要运行代码,即可在几秒钟之内扫描分析出模型中的张量形状错误.文末附使用方法. 本文转载自机器之心 编辑:CV技 ...
- NULL在oracle和mysql索引上的区别
一.问题 oracle的btree索引不存储NULL值,所以用is null或is not null都不会用到索引范围扫描,但是在mysql中也是这样吗? 二.实验 先看看NULL在oracle(11 ...