centos8安裝和配置redis服務

strivechao發表於2020-09-14

作業系統:centos8.0
redis:6.0.7
安裝redis:
官網獲得redis6.0.7的安裝包:redis-6.0.7.tar.gz,redis 官網:
centos8伺服器上執行
tar -zxf redis-6.0.7.tar.gz
cd redis-6.0.7/
make
make PREFIX=/usr/local/redis install
cp redis.conf /usr/local/redis/
注意:這裡redis被安裝在目錄/usr/local/redis下面,redis.conf我也複製到這個目錄下面了,如果安裝目錄和配置檔案目錄不一樣的話,下面做redis.service配置檔案的時候呼叫路徑會不一樣。

配置redis服務和開機啟動
1.修改redis.conf配置檔案中的兩項:
daemonize yes # 以後臺守護程式方式啟動
supervised systemd # 可以跟systemd程式進行互動

2.建立配置檔案:/usr/lib/systemd/system/redis.service

# example systemd service unit file for redis-server
#
# In order to use this as a template for providing a redis service in your
# environment, _at the very least_ make sure to adapt the redis configuration
# file you intend to use as needed (make sure to set "supervised systemd"), and
# to set sane TimeoutStartSec and TimeoutStopSec property values in the unit"s
# "[Service]" section to fit your needs.
#
# Some properties, such as User= and Group=, are highly desirable for virtually
# all deployments of redis, but cannot be provided in a manner that fits all
# expectable environments. Some of these properties have been commented out in
# this example service unit file, but you are highly encouraged to set them to
# fit your needs.
#
# Please refer to systemd.unit(5), systemd.service(5), and systemd.exec(5) for
# more information.
[Unit]
Description=Redis data structure server
Documentation=documentation
#Before=your_application.service another_example_application.service
#AssertPathExists=/var/lib/redis
[Service]
#ExecStart=/usr/local/bin/redis-server --supervised systemd --daemonize yes
## Alternatively, have redis-server load a configuration file:
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always
LimitNOFILE=10032
NoNewPrivileges=yes
#OOMScoreAdjust=-900
#PrivateTmp=yes
#Type=notify
# 注意 notify 會失敗,換成 forking 方式啟動,讓主程式複製一個子程式的方式執行
Type=forking
#TimeoutStartSec=100
#TimeoutStopSec=100
UMask=0077
#User=root
#Group=root
#WorkingDirectory=/var/lib/redis
[Install]
WantedBy=multi-user.target

3.執行指令:
systemctl enable redis

測試驗證:
systemctl start redis
redis-cli -h 127.0.0.1 -p 6379
systemctl stop redis
redis-cli -h 127.0.0.1 -p 6379
重啟伺服器,再驗證一下開機啟動。

二、yum方式安裝

國內的話建議修改yum源為阿里雲,修改方法參考:  CentOS 8修改yum源為國內源

1.新增EPEL倉庫

在CentOS或Red Hat系統中,需要先新增EPEL倉庫

#新增EPEL倉庫sudo yum install epel-release#更新yum源sudo yum update

2.安裝

yum install redis

3.啟動

systemctl start redis

4.設定開機自啟

systemctl enable redis

5.修改配置

開啟 /etc/redis.conf檔案。

1)允許遠端連線

找到下面這一行,註釋掉:

bind 127.0.0.1

改為:

#bind 127.0.0.1

2)啟用密碼

找到 # requirepass foobared一行,刪除前面的 #註釋,然後將 foobared改為你自己的密碼。

requirepass your_password

6.開放埠

如果啟用了防火牆,redis預設埠 6379需要進行開放,開放埠參考:  CentOS開放埠的方法 。

sudo firewall-cmd --add-port=6379/tcp --permanent  sudo firewall-cmd --reloadsystemctl restart redis

7.測試遠端連線

telnet id 6379

能連線說明沒問題。



叢集

redis叢集建立執行

./redis-trib.rb create --replicas 1 XXXX:PORT1 XXXX:PORT2 ....

的時候
一直等待 Waiting for the cluster to join 很久都沒有反應
原因:
redis叢集不僅需要開通redis客戶端連線的埠,而且需要開通叢集匯流排埠
叢集匯流排埠為redis客戶端連線的埠 + 10000
如redis埠為6379
則叢集匯流排埠為16379
故,所有伺服器的點需要開通redis的客戶端連線埠和叢集匯流排埠

注意:iptables 放開,如果有安全組,也要放開這兩個埠


3  使用vim 編輯 /etc/profile  ,在檔案的末尾新增以下語句,

vi /etc/profile


#set redis-cli cluster

export REDIS_HOME=/usr/local/redis

export PATH=$PATH:$REDIS_HOME/bin



source /etc/profile



redis-cli --cluster help


 create         host1:port1 ... hostN:portN

                 --cluster-replicas <arg>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25469263/viewspace-2719248/,如需轉載,請註明出處,否則將追究法律責任。

相關文章