Linux(debian)安裝Redis教程


一、安裝(linux-debin)

1.Redis 官方下載、編譯make

$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make

 

2.make編譯后,在src目錄下,有幾個可執行文件

mkreleasehdr.sh
redis-benchmark
redis-check-aof
redis-cli
redis-server

 

此時已經安裝完成,但是我們還方便運維,還是需要部署下

二、部署與配置

為方便管理,將Redis文件中的conf配置文件和常用命令移動到統一文件夾中

/usr/local/redis

 

創建目錄

# 存放執行腳本
mkdir -p /usr/local/redis/bin
# 存放配置文件
mkdir -p /usr/local/redis/etc

 

移動文件到/usr/local/redis/bin; /usr/local/redis/ect目錄

cd /root/redis-4.0.9
mv redis.conf /usr/local/redis/etc
cd /root/redis-4.0.9/src
mv mkreleasehdr.sh /usr/local/redis/bin
mv redis-benchmark /usr/local/redis/bin
mv redis-check-aof /usr/local/redis/bin
mv redis-cli /usr/local/redis/bin
mv redis-server /usr/local/redis/bin

 

三、執行redis-server腳本,啟動redis服務

1.前台啟動redis

cd /usr/local/redis/bin/
./redis-server
18847:C 28 May 19:14:10.117 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18847:C 28 May 19:14:10.118 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=18847, just started
18847:C 28 May 19:14:10.118 # 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.9 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 18847
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'


18847:M 28 May 19:14:10.120 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
18847:M 28 May 19:14:10.120 # Server initialized
18847:M 28 May 19:14:10.120 # 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.
18847:M 28 May 19:14:10.120 # 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.
18847:M 28 May 19:14:10.120 * Ready to accept connections

 

 

直接執行redis-server啟動的Redis服務,是在前台直接運行的。如果Lunix關閉當前會話,則Redis服務也隨即關閉。

^C18847:signal-handler (1527506181) Received SIGINT scheduling shutdown...
18847:M 28 May 19:16:21.363 # User requested shutdown...
18847:M 28 May 19:16:21.363 * Saving the final RDB snapshot before exiting.
18847:M 28 May 19:16:21.366 * DB saved on disk
18847:M 28 May 19:16:21.366 # Redis is now ready to exit, bye bye...

 

2. 后台啟動redis服務

啟動Redis服務需要從后台啟動,並且指定啟動配置文件。編輯redis.conf文件,設置daemonize為yes,表示后台運行。

cd /usr/local/redis/etc/
vim redis.conf
################################# GENERAL #####################################
# By default Redis does not run as a daemon. Use 'yes' if you need it.
​
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

 

配置下面的內核參數,否則Redis腳本在重啟或停止redis時,將會報錯,並且不能自動在停止服務前同步數據到磁盤上。

# /etc/sysctl.conf加上 
#vim /etc/sysctl.conf
vm.overcommit_memory = 1

 

配置完后執行命令

sysctl vm.overcommit_memory=1

 

指定配置文件(redis.conf)啟動redis服務

cd /usr/local/redis/bin/
./redis-server /usr/local/redis/etc/redis.conf
18944:C 28 May 19:30:07.549 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
18944:C 28 May 19:30:07.549 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=18944, just started
18944:C 28 May 19:30:07.549 # Configuration loaded

 

啟動成功,查看進程

root@Chao:~# ps -ef | grep redis
root 18945 1 0 19:30 ? 00:00:00 ./redis-server 127.0.0.1:6379
root 18958 15412 0 19:31 pts/0 00:00:00 grep redis

 

四、將redis作為linux service啟動

systemctl管理Redis啟動、停止、開機啟動

1. 在/lib/systemd/system目錄下創建一個腳本文件redis.service

vim /lib/systemd/system/redis.service
#表示基礎信息
​
[Unit]
#描述
Description=Redis
#在哪個服務之后啟動
After=syslog.target network.target remote-fs.target nss-lookup.target
​
#表示服務信息
[Service]
Type=forking
#和redis.conf配置文件中的信息一致
PIDFile=/var/run/redis_6379.pid
#啟動服務的命令
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
​
#安裝相關信息
[Install]
WantedBy=multi-user.target

 

2. 創建軟鏈接

創建軟鏈接是為了下一步系統初始化時自動啟動服務。

ln -s /lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service

 

3. 刷新配置
剛剛配置的服務需要讓systemctl能識別,就必須刷新配置。

systemctl daemon-reload

 

4. 修改profile文件:

# vi /etc/profile
# 在最后行添加:
​
export PATH="$PATH:/usr/local/redis/bin"
​
# 然后馬上應用這個文件:
​
# source /etc/profile

 

5. 啟動、重啟、停止

# 啟動redis
systemctl start redis
​
# 重啟redis
systemctl restart redis
​
# 停止redis
systemctl stop redis

 

6. 開機自啟動

# redis服務加入開機啟動
systemctl enable redis
​
# 禁止開機啟動
systemctl disable redis

 

 

 


 

參考:https://blog.csdn.net/u010277446/article/details/80497539


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM