多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] ## 1. Linux命令 ### 1.1 sudo 命令 场景:普通用户在执行某些Linux命令时,由于权限的关系导致执行失败。sudo 命令请求超级用户权限来提升用户的权限,使得Linux命令得以顺利执行。 sudo的工作过程如下: 1)当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限 2)确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认 3)若密码输入成功,则开始执行sudo后续的命令 4)root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则) 5)若欲切换的身份与执行者的身份相同,也不需要输入密码 ### 1.2 给用户赋予执行sudo命令的权限 Linux对用户执行sudo命令的权限配置是在 /etc/sudoers文件中,想要用户可以执行sudo命令,需要经过一下几部 1)chmod u+w /etc/sudoers ---------------这个文件为只读文件 2)vi /etc/sudoers 3)加入 用户名 ALL=(ALL:ALL) ALL 4)保存退出 5)chmod u-w /etc/sudoers ---------------将文件的权限改回来 ### 1.3 shell脚本 ~~~ #!/bin/bash ---定义变量 REDIS_PORT=6379 REDIS_ETC=/etc/redis REDIS_INITD=/etc/init.d ---创建对应得目录 sudo mkdir $REDIS_ETC sudo mkdir -p ~/data/redis/$REDIS_PORT sudo mkdir -p /var/log/redis ---把redis得启动脚本复制到/etc/init.d系统服务启动文件中 sudo cp ./redis-3.2.5/utils/redis_init_script ${REDIS_INITD}/redis_${REDIS_PORT} sudo cp ./redis-3.2.5/redis.conf ${REDIS_ETC}/${REDIS_PORT}.conf ~~~ ## 2.redis搭建 ### 2.1 redis集群搭建 #### 2.1.1 单机安装 引用项目大哥文档 安装环境 ubuntu14.04 server wget http://download.redis.io/releases/redis-3.2.5.tar.gz tar -xzvf ./redis-3.2.5.tar.gz cd redis-3.2.5/ ~/redis-3.2.5$ sudo apt-get install gcc ~/redis-3.2.5$ sudo apt-get install make ~/redis-3.2.5$ make MALLOC=libc 将可执行文件导入/usr/local/bin 目录 ~/redis-3.2.5$ sudo make install cd src && make install make[1]: 正在进入目录 `/home/hanxt/redis-3.2.5/src' Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL install make[1]:正在离开目录 `/home/hanxt/redis-3.2.5/src' 在执行了make install之后,查看默认安装目录:/usr/local/bin,包含如下文件: redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何 服务启动起来后执行 redis-check-aof:修复有问题的AOF文件 redis-check-dump:修复有问题的dump.rdb文件 redis-cli:客户端,操作入口 redis-sentinel:redis集群使用 redis-server:Redis服务器启动命令 修改redis.conf的配置 bind 192.168.1.152 127.0.0.1 #绑定ip,原始只有127.0.0.1 port 6379 daemonize yes #是否常驻进程运行,原始是no dir /home/aexit1/data/redis/6379 #数据文件持久化存储路径,原始是./ logfile /var/log/redis/redis.log requirepass <改为你自己的登陆密码> linux系统下面redis常用初始化脚本 ~~~ #!/bin/bash REDIS_PORT=6379 REDIS_ETC=/etc/redis REDIS_INITD=/etc/init.d sudo mkdir $REDIS_ETC sudo mkdir -p ~/data/redis/$REDIS_PORT sudo mkdir -p /var/log/redis sudo cp ./redis-3.2.5/utils/redis_init_script ${REDIS_INITD}/redis_${REDIS_PORT} sudo cp ./redis-3.2.5/redis.conf ${REDIS_ETC}/${REDIS_PORT}.conf ~~~ 执行启动命令,守护进程 ~~~ sudo /etc/init.d/redis_6379 start (还可以stop) #redis-server ./redis.conf (这种启动方式,不是生产规范) ~~~ 测试一下基础命令: redis-cli -h 192.168.1.152 -p 6379 redis> set foo bar OK redis> get foo "bar" 2.2.安装之后需要知道的基础知识 redis是单进程工作,利用IO多路复用技术 默认16个数据库,类似数组下表从零开始,初始默认使用零号库,使用select命令切换数据库,如select 2 Redis索引都是从零开始 redis初始没有密码,可以使用统一密码管理,16个库都是同样密码,要么都OK要么一个也连接不上 默认端口是6379 ### 2.2 主从配置(数据同步) #### 修改redis的配置文件 1)在充当slave节点的机器上, vi redis.conf 加入 slaveof <master节点IP> <master节点port> masterauth <密码> -------如果主节点配置了 requirepass,这里要与主节点保持一致。 2)启动redis 3)redis@ubuntu:~$ ps -aux|grep redis root 17926 0.1 0.1 34308 3576 ? Ssl 15:39 0:04 redis-server 127.0.0.1:6379 -----服务已经启动 root 17967 0.1 0.3 105660 6636 ? Ss 16:50 0:00 sshd: redis [priv] redis 18040 0.0 0.2 105660 4256 ? S 16:50 0:00 sshd: redis@pts/0 redis 18041 0.4 0.2 22812 5132 pts/0 Ss 16:50 0:00 -bash redis 18055 0.0 0.1 18856 2652 pts/0 R+ 16:50 0:00 ps -aux redis 18056 0.0 0.1 12156 2300 pts/0 S+ 16:50 0:00 grep --color=auto redis 4)redis-cli -h 127.0.0.1 -p 6379 登录redis客户端 5)在每台机器上执行 info命令得到以下界面表示成功 主节点: ![](https://box.kancloud.cn/ae4e2360c3d5537d028d32c4af37de7f_712x238.png) ---------------------------------------------从节点: ![](https://box.kancloud.cn/62b2160903d8a073d20eb2285f0c2800_365x245.png)