1. linux閲嶆柊钖锷╮edislinux镄剅edis钖锷
redis濡备綍閲嶅惎?linux涓嬭疯緭鍏ュ懡浠や笉瑕佺敤kill镄勬柟寮忥纻
1銆佸傛灉鏄鐢╝pt-get鎴栬厃uminstall瀹夎呯殑redis锛屽彲浠ョ洿鎺ラ氲繃涓嬮溃镄勫懡浠ゅ仠姝/钖锷/閲嶅惎redis锛/etc/init.d/redis-serverstop/etc/init.d/redis-serverstart/etc/init.d/redis-serverrestart
2銆佸傛灉鏄阃氲繃婧愮爜瀹夎呯殑redis锛屽垯鍙浠ラ氲繃redis镄勫㈡埛绔绋嫔簭redis-cli镄剆hutdown锻戒护𨱒ラ吨钖痳edis銆
redis闆嗙兢濡备綍瑙e喅閲嶅惎涓崭简镄勯梾棰
redis浣跨敤闆嗙兢閮ㄧ讲锛屽傛灉阆囧埌鏂鐢垫垨钥呮湇锷″櫒閲嶅惎锛屽綋鍐嶆″惎锷ㄧ殑镞跺欙纴链夋椂鍊欎细钖锷ㄤ笉浜嗐傞渶瑕佷娇鐢╰rib镄刦ix锻戒护杩涜屼慨澶嶃傚傛灉淇澶嶈缮鏄涓嶈岀殑璇濓纴鍙浠ユ竻闄よ妭镣规暟鎹鍐嶉吨鏂板缓闆嗙兢锛屽墠鎻愯佸囦唤涔嫔悗镎崭綔銆
1銆佷娇鐢╮edis-cli杩炴帴涓妑edis鍏朵腑涓鍙帮细redis-cli-c-hxxx-p7001锛岃緭鍏clusterinfo镆ョ湅褰揿墠闆嗙兢镄勭姸镐併
2銆佸彲浠ヤ娇鐢╰rib镄刢heck妫娴嬬殑闆嗙兢鐘舵侊细redis-trib.rbcheckxxx:7001锛孨銆
linux涓璬ockers瀹瑰櫒鎶链浠嬬粛锛
linux涓璬ockers瀹瑰櫒鎶链鍏跺疄灏辨槸绠$悊镡婇泟璧风殑寮曟搸锛屾槸搴旂敤镓揿寘閮ㄧ讲骞冲彴锛屽彲浠ヤ负鏁版嵁杞浠剁殑搴旂敤鎻愪緵锘虹銆
浠涔堟槸docker锛
Docker灏卞ソ姣斾紶缁熺殑璐ц繍闆呜呯
Docker鏄绠$悊瀹瑰櫒镄勫紩镎
Docker涓哄簲鐢ㄦ墦鍖呴儴缃插钩鍙帮纴钥岄潪鍗旷函镄勮櫄𨰾熷寲鎶链
SaaS(app锛屼簯鐩桡纴寰搴楋纴缃戠珯)PaaS(redis,nysql,nginx)鏄锘轰簬Docker镄勪簯骞冲彴
VMVSContainer
?
鍏充簬铏氭嫙链
virsh 锻戒护绠$悊
virt_manager 锲惧舰鍖栫$悊
libvirtd 涓涓绠$悊鎺ュ彛
qemu-kvm(cpu/mem) 瀹屽叏铏氭嫙鍖
濡傛灉锅沧帀libvirtd
systemctlstoplibvirtd
1
1
绠$悊鍖栧懡浠や笉鑳藉伐浣滐纴浣嗘槸铏氭嫙链轰緷铹跺瓨鍦锛屼緷铹跺伐浣
瀹瑰櫒
瀹瑰櫒鍜岀墿鐞嗘満鍏变韩鍐呮牳鍜屼竴浜涢吨瑕佺殑鏂囦欢绯荤粺
姣旇櫄𨰾熸満镟村皬锛屾洿杞
浼犵粺铏氭嫙链哄拰瀹瑰櫒鎶链瀵规瘆
?
瀹瑰櫒鏄濡备綍宸ヤ綔镄
?
鍒涘缓涓涓瀹瑰櫒
?
yuminstallwget-y
cd/etc/yum.repos.d/
wgethttps://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
2
3
1
2
3
?
瑕佽В鍐充緷璧栨
鍦ㄩ樋閲屼簯骞冲彴涓嬭浇
铹跺悗涓嬭浇镄勫寘鍜宺hel7.6yum婧愰噷镄勫寘涓璧疯В鍐充緷璧栨
yuminstalldocker-cecontainer-selinux-2.77-1.el7.noarch.rpm-y
systemctlstartdocker
1
2
1
2
娉ㄦ剰锛歞ocker钖锷ㄥ墠鍏抽棴阒茬伀澧椤拰鍏抽棴selinux
dockerinfo镆ョ湅瀹瑰櫒淇℃伅
1
1
鍙戠幇链変袱涓璀﹀憡
瑙e喅锛
sysctl-a|grepbridge-nf-call-iptables
vim/etc/sysctl.d/bridge.conf
1
2
1
2
net.bridge.bridge-nf-call-iptables=1
net.bridge.bridge-nf-call-ip6tables=1
sysctl--system鐢熸晥
1
2
3
1
2
3
镓链夌殑瀹瑰櫒鏁版嵁閮藉湪/var/lib/docker閲岄溃
?
濡傛灉𨱍宠佺敤鏅阃氱敤鎴峰仛docker闇瑕佺粰杩欎釜鏂囦欢缁欐潈闄
yuminstallbash-*-y涓轰简table琛ラ绨锻戒护
1
1
鐢ㄥ瑰櫒閮ㄧ讲涓涓猲ginx链嶅姟
涓鑸𨰾夊彇澶鎱锛岃剧疆涓涓锷犻熷櫒
?
cd/etc/docker/
vimdaemon.json
systemctldaemon-reload
systemctlrestartdocker
1
2
3
4
1
2
3
4
dockersearchnginx瀵绘垒闀滃儚
dockerpullnginx𨰾夊彇闀滃儚锛堜竴鑸浠ユ湇锷″悕镄勬槸瀹樻柟鎻愪緵镄勶级
dockerrun-d--namenginxnginx閮ㄧ讲瀹瑰櫒
dockerps
1
2
3
4
1
2
3
4
?
dockerinspectnginx镆ョ湅nginx瀹瑰櫒淇℃伅
1
1
?
鐢╥paddrshow锻戒护镆ョ湅妗ユ帴鍒癫ocker0
yuminstallbridge-utils妗ユ帴锻戒护
brctlshow
1
2
1
2
?
nginx閮ㄧ讲鎴愬姛
?
姝ゆ椂锛宯ginx鍙鑳藉唴閮ㄨ块梾
濡傛灉闇瑕佸栭儴璁块梾锛屽垯鍒犳帀铡焠ginx瀹瑰櫒锛岀敤绔鍙f椠灏勯儴缃瞡ginx
-d:镓揿叆钖庡彴
-p80:80:80鏄犲皠80绔鍙
dockerrun-d--namenginx-p80:80nginx
1
1
nginxhistorynginx:latest镆ョ湅nginx闀滃儚淇℃伅
iptables-tnat-nL
1
2
1
2
璁块梾链链鸿浆鍙戝埌172.17.0.2:80涓婂幓
?
鐢╬sax鎴杢op鎴杗etstat-antlp镆ョ湅docker灏辨槸涓杩涚▼
缃戦〉璁块梾铏氭嫙链篿p鍙浠ョ湅鍒皀ginx链嶅姟銆
濡备綍鍦╨inux涓嬮摼鎺ヨ繙绋媟edis锛
鍦≧edis鐩褰曚笅寮钖疪edis杩欎釜绐楀彛灏变笉鑳界户缁镎崭綔浜唖cr/redis-server鍙﹀紑钖涓涓锻戒护琛岀獥鍙h繘鍏Redis鐩褰曞彲浠ヨ繘琛屾祴璇晄rc/redis-cliquit鍙浠ラ鍑哄綋鍓峜lient
2. linux 怎样安装redis
获取Redis
1、通过官网http://redis.io/获取稳定版源码包下载地址;
2、通过wget http://download.redis.io/releases/redis-3.0.2.tar.gz下载 源码包;
2
编译安装Redis
1、解压源码安装包,通过tar -xvf redis-3.0.2.tar.gz解压源码,速度相当快;
2、进入解压后的目录,执行make编译源码;
make命令执行完成后,会在src目录下生成6个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-mp、redis-sentinel。
3、执行make install安装,或者通过make PREFIX=/usr/local/redis install指定安装目录。这里默认安装,默认将之前生成的可执行文件拷贝到/usr/local/bin目录下;
END
配置运行
修改配置文件
1、将源码目录下redis配置文件redis.conf拷贝到/etc/redis目录下。
2、修改配置项,根据需要;如果不修改,使用默认配置也可以;
启动服务:
查看端口是否被占用:netstat
–ntlp
|grep 6379
方式一:通过命令redis-server 启动,可在命令后加上`&`号使redis以后台程序方式运行;
方式二:通过指定配置文件启动;redis-server /etc/redis/redis.conf
默认安装的路径已经加入环境变量中,可直接在命令行执行命令;
命令客户端检测链接
1、连接之前可以先检测服务是否启动;
2、测试启动 redis-cli ping 返回PONG,启动成功。
停止Redis:
关闭服务
redis-cli shutdown
如果非默认端口,可指定端口:
redis-cli -p 6380 shutdown
简单操作:
1、两种连接方式:
1:window DOS方式:tentel主机IP端口号(默认为127.0.0.1:6379)
2:linux客户端方式:redis-cli 主机IP 端口号(默认为127.0.0.1 6379)
2、命令行操作:
#redis-cli
redis 127.0.0.1:6379> set name clj
OK
redis 127.0.0.1:6379> get name
"clj"
3. redis 如何重启 linux下请输入命令不要用kill 的方式
当需要重启Linux下的Redis时,根据安装方式不同,有不同的操作方法。如果是通过包管理器(如apt-get或yum)安装的Redis,可以通过执行以下命令来实现服务的停止、启动和重启:
<pre>/etc/init.d/redis-server stop</pre><pre>/etc/init.d/redis-server start</pre><pre>/etc/init.d/redis-server restart</pre>
而对于源码编译安装的Redis,可以使用redis-cli客户端的shutdown命令来重启服务:
<pre>redis-cli shutdown</pre>
在Redis集群部署中,遇到重启问题时,可能需要特定步骤来解决。例如,当服务器重启后集群无法启动,可以尝试使用trib命令进行修复。首先,通过redis-cli连接集群任一节点,执行:
<pre>redis-cli -c -h xxx -p 7001 cluster info</pre>
如果集群状态不正常,比如节点覆盖不全,可以使用trib check检查并可能使用trib fix进行修复。如果以上方法都无效,可能需要先停止服务,删除相关文件(如aof、rdb和nodes文件)并备份,然后删除后重启节点,并重新创建集群,命令如下:
<pre>***.rb create --replicas 1 xxx:7000 xxx:7001 xxx:7002 ... xxx:7005</pre>
最后,确认集群已成功创建并连接redis,确认服务已经启动。
4. linux上怎么配置redis的aof持久化
Redis 持久化和配置文件
Reids 持久化
Redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Append Only File)。
RDB,简而言之,就是在不同的时间点,将redis存储的数据生成快照并存储到磁盘等介质上。
AOF,则是换了一个角度来实现持久化,那就是将redis执行过的所有写指令记录下来,在下次redis重新启动时,只要把这些写指令从前到后再重复执行一遍,就可以实现数据恢复了。
其实RDB和AOF两种方式也可以同时使用,在这种情况下,如果redis重启的话,则会优先采用AOF方式来进行数据恢复,这是因为AOF方式的数据恢复完整度更高。
如果你没有数据持久化的需求,也完全可以关闭RDB和AOF方式,这样的话,redis将变成一个纯内存数据库,就像memcache一样。
redis配置文件
daemonize no # 默认情况下,redis并不是以daemon形式来运行的。通过daemonize配置项可以控制redis的运行形式
pidfile /path/to/redis.pid #当以daemon形式运行时,redis会生成一个pid文件,默认会生成在/var/run/redis.pid
bind 192.168.1.2 10.8.4.2 # 指定绑定的ip,可以有多个
port 6379 #指定监听端口
unixsocket /tmp/redis.sock #也可以监听socket
unixsocketperm 755 #当监听socket时可以指定权限为755
timeout 0 #当一个redis-client一直没有请求发向server端,那么server端有权主动关闭这个连接,可以通过timeout来设置“空闲超时时限”,0表示永不关闭。
Redis通用配置
tcp-keepalive0 #TCP连接保活策略,可以通过tcp-keepalive配置项来进行设置,单位为秒,假如设置为60秒,则server端会每60秒向连接空闲的客户端发起一次ACK请求,以检查客户端是否已经挂掉,对于无响应的客户端则会关闭其连接。如果设置为0,则不会进行保活检测。
loglevelnotice #日志级别,有四种debug, verbose, notice, warning
logfile“” #定义日志路径,
syslog-identredis #如果希望日志打印到syslog中,通过syslog-enabled来控制。另外,syslog-ident还可以让你指定syslog里的日志标志。
syslog-facility local0 #指定syslog的设备,可以是USER或者local0-local7
databases 16 #设置数据库的总数量
Redis快照配置(rdb持久化)
save 900 1 #表示每15分钟且至少有1个key改变,就触发一次持久化
save 300 10 #表示每5分钟且至少有10个key改变,就触发一次持久化
save 60 10000 #表示每60秒至少有10000个key改变,就触发一次持久
save “” #这样可以禁用rdb持久化
stop-writes-on-bgsave-error yes #rdb持久化写入磁盘避免不了会出现失败的情况,默认一旦出现失败,redis会马上停止写操作。如果你觉得无所谓,那就可以使用该选项关闭这个功能。
rdbcompressionyes #是否要压缩
rdbchecksumyes #是否进行数据校验
dbfilenamemp.rdb #定义快照文件的名字
dir ./ #定义快照文件储存路劲
Redis安全相关配置
requirepassaminglinux
#设置redis-server的密码
rename-command CONFIG aminglinux.config
#将CONFIG命令更名为aminglinux.config,这样可以避免误操作,但如果使用了AOF持久化,建议不要启用该功能
rename-command CONFIG “”
#也可以后面定义为空,这样就禁掉了该CONFIG命令
Redis限制相关配置
maxclients10000 #限制最大客户端连接数
maxmemory<bytes> #设定最大内存使用数,单位是byte
maxmemory-policy volatile-lru#指定内存移除规则
maxmemory-samples 3 #LRU算法和最小TTL算法都并非是精确的算法,而是估算值。所以你可以设置样本的大小。假如redis默认会检查三个key并选择其中LRU的那个,那么你可以改变这个key样本的数量。
Redis AOF持久化相关配置
appendonlyno #如果是no,则开启aof持久化
appendfilename“appendonly.aof” #指定aof文件名字
appendfsynceverysec#指定fsync()调用模式,有三种no(不调用fsync),always(每次写都会调用fsync),everysec(每秒钟调用一次fsync)。第一种最快,第二种数据最安全,但性能会差一些,第三种为这种方案,默认为第三种。
no-appendfsync-on-rewrite no #使用no,可以避免当写入量非常大时的磁盘io阻塞
auto-aof-rewrite-percentage 10 #规定什么情况下会触发aof重写。该值为一个比例,10表示当aof文件增幅达到10%时则会触发重写机制。
auto-aof-rewrite-min-size 64mb #重写会有一个条件,就是不能低于64Mb
Redis 慢日志相关配置
针对慢日志,你可以设置两个参数,一个是执行时长,单位是微秒,另一个是慢日志的长度。当一个新的命令被写入日志时,最老的一条会从命令日志队列中被移除。