轉(zhuǎn) CENTOS7下安裝REDIS
安裝后一定要看安全問題
關(guān)于部署redis后的一些安全問題
參考 redis未授權(quán)訪問
一艇肴、安裝redis
第一步:下載redis安裝包
wget http://download.redis.io/releases/redis-4.0.6.tar.gz
注:根據(jù)實際選擇最新的版本安岂!本人實際用 5.0.5 版本
[root@xx local]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz
--2017-12-13 12:35:12-- http://download.redis.io/releases/redis-4.0.6.tar.gz
Resolving download.redis.io (download.redis.io)... 109.74.203.151
Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1723533 (1.6M) [application/x-gzip]
Saving to: ‘redis-4.0.6.tar.gz’
100%[==========================================================================================================>] 1,723,533 608KB/s in 2.8s
2017-12-13 12:35:15 (608 KB/s) - ‘redis-4.0.6.tar.gz’ saved [1723533/1723533]
第二步:解壓壓縮包
tar -zxvf redis-4.0.6.tar.gz
[root@xx local]# tar -zxvf redis-4.0.6.tar.gz
第三步:yum安裝gcc依賴
yum install gcc
[root@xx local]# yum install gcc
遇到選擇,輸入y即可
第四步:跳轉(zhuǎn)到redis解壓目錄下
cd redis-4.0.6
[root@xx local]# cd redis-4.0.6
第五步:編譯安裝
make MALLOC=libc
[root@iZwz991stxdwj560bfmadtZ redis-4.0.6]# make MALLOC=libc
將/usr/local/redis-4.0.6/src目錄下的文件加到/usr/local/bin目錄
cd src && make install
[root@xx redis-4.0.6]# cd src && make install
CC Makefile.dep
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
二、啟動redis的三種方式
先切換到redis src目錄下
1琐谤、直接啟動redis
./redis-server
[root@xx src]# ./redis-server
18685:C 13 Dec 12:56:12.507 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18685:C 13 Dec 12:56:12.507 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18685, just started
18685:C 13 Dec 12:56:12.507 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 18685
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
18685:M 13 Dec 12:56:12.508 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18685:M 13 Dec 12:56:12.508 # Server initialized
18685:M 13 Dec 12:56:12.508 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
18685:M 13 Dec 12:56:12.508 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
18685:M 13 Dec 12:56:12.508 * Ready to accept connections
如上圖:redis啟動成功,但是這種啟動方式需要一直打開窗口田炭,不能進行其他操作授瘦,不太方便。
按 ctrl + c可以關(guān)閉窗口叉瘩。
2膳帕、以后臺進程方式啟動redis
第一步:修改redis.conf文件
返回目錄 redis-4.0.6
將
daemonize no
修改為
daemonize yes
第二步:指定redis.conf文件啟動
./redis-server /usr/local/redis-4.0.6/redis.conf
[root@xx src]# ./redis-server /usr/local/redis-4.0.6/redis.conf
18713:C 13 Dec 13:07:41.109 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18713:C 13 Dec 13:07:41.109 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=18713, just started
18713:C 13 Dec 13:07:41.109 # Configuration loaded
第三步:關(guān)閉redis進程
首先使用ps -aux | grep redis查看redis進程
[root@xx src]# ps -aux | grep redis
root 18714 0.0 0.1 141752 2008 ? Ssl 13:07 0:00 ./redis-server 127.0.0.1:6379
root 18719 0.0 0.0 112644 968 pts/0 R+ 13:09 0:00 grep --color=auto redis
使用kill命令殺死進程
[root@xx src]# kill -9 18714
3、設(shè)置redis開機自啟動
1、在/etc目錄下新建redis目錄
mkdir redis
[root@xx etc]# mkdir redis
2危彩、將/usr/local/redis-4.0.6/redis.conf 文件復(fù)制一份到/etc/redis目錄下攒磨,并命名為6379.conf
[root@xx redis]# cp /usr/local/redis-4.0.6/redis.conf /etc/redis/6379.conf
3、將redis的啟動腳本復(fù)制一份放到/etc/init.d目錄下
[root@xx init.d]# cp /usr/local/redis-4.0.6/utils/redis_init_script /etc/init.d/redisd
在redisd文件中汤徽,有個配置是CONF="/etc/redis/${REDISPORT}.conf"
娩缰,它指定了開啟啟動加載的配置文件,也即第2步配置的文件
4谒府、設(shè)置redis開機自啟動
先切換到/etc/init.d目錄下
然后執(zhí)行自啟命令
[root@xx init.d]# chkconfig redisd on
service redisd does not support chkconfig
看結(jié)果是redisd不支持chkconfig
解決方法:
使用vim編輯redisd文件拼坎,在第一行加入如下兩行注釋,保存退出
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
注釋的意思是完疫,redis服務(wù)必須在運行級2泰鸡,3,4壳鹤,5下被啟動或關(guān)閉盛龄,啟動的優(yōu)先級是90,關(guān)閉的優(yōu)先級是10芳誓。
再次執(zhí)行開機自啟命令余舶,成功
[root@xx init.d]# chkconfig redisd on
現(xiàn)在可以直接已服務(wù)的形式啟動和關(guān)閉redis了
啟動:
service redisd start
[root@xx ~]# service redisd start
Starting Redis server...
2288:C 13 Dec 13:51:38.087 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
2288:C 13 Dec 13:51:38.087 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=2288, just started
2288:C 13 Dec 13:51:38.087 # Configuration loaded
關(guān)閉:
service redisd stop
[root@xx ~]# service redisd stop
Stopping ...
Redis stopped
三、配置可遠程訪問
修改 redis.conf 下面配置锹淌,注意欧芽,如果使用開機自啟動的方式,要修改/etc/redis/6379.conf
這個文件
# 注釋葛圃,不限制IP
#bind 127.0.0.1
protected-mode no
停止redis報如下
service redisd stop
Stopping ...
OK
(error) NOAUTH Authentication required.
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
解決方法:修改redis服務(wù)腳本千扔,加入如下所示的信息即可
vi /etc/init.d/redisd
# 修改 添加 -a "password"
$CLIEXEC -a "123456" -p $REDISPORT shutdown
四、參考資料
1库正、http://blog.csdn.net/zc474235918/article/details/50974483
2曲楚、http://blog.csdn.net/gxw19874/article/details/51992125
如果出現(xiàn)如下問題:
可參考資料:http://blog.csdn.net/luozhonghua2014/article/details/54649295