在CentOS 7上安装Redis 4并设置自动启动
systemctl 是什么?
在CentOS 7中,您可以使用”systemctl”命令来设置自动启动和取消自动启动。
通过使用这个机制,您不仅可以自动启动服务,还可以监控进程并在停止后重新启动。
“妖怪是什么东西?”
就像在iPhone的后台运行的应用程序一样。
请参考以下链接:
https://www.ritolab.com/entry/74
那么,让我们用Redis4来尝试一下。
– 安装 Redis。
– 在服务器重新启动时自动启动。
– 如果 Redis 关闭,则在 10 秒后自动启动。
打开防火墙
重要的是“只开放给使用服务器的防火墙”。 Redis的绑定是指本地IP,如果直接使用全球IP进行操作,则需通过防火墙进行控制。
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="グローバルIP" port protocol="tcp" port="6379" accept"
firewall-cmd --reload
success
//ポートが空いたかチェック
firewall-cmd --list-all
从源代码中安装
yum install cpan
yum install gettext
yum grouplist
yum groupinstall 'Development Tools'
由于YUM过时,需要更新。
wget http://download.redis.io/releases/redis-4.0.14.tar.gz
# ダウンロードしたソースを解凍する
tar xzf redis-4.0.14.tar.gz
cd redis-4.0.14/
make install
sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/6379.conf
ln -s /home/hideki/redis-4.0.14/src/redis-server /usr/local/bin/redis-server
ln -s /home/hideki/redis-4.0.14/src/redis-cli /usr/local/bin/redis-cli
创建文件夹和更改权限 hé
useradd redis
mkdir -p /var/lib/redis/6379
mkdir -p /var/log/redis
mkdir -p /etc/redis
chown -R redis:redis /var/log/redis /var/lib/redis
检查日志文件和目录的权限是否正确,因为如果错误的话,Redis甚至无法启动。所以,在进行设置之前,先确保成功启动。
logfile /var/log/redis.log
bind 0.0.0.0 # 全サーバーから接続許可グローバルIPは指定できない。ローカルIPアドレスのみ。
dir /var/lib/redis/6379/
supervised systemd
//パスワードを設定
//ここで設定してうまく動かない場合がある.
//requirepass yourpass
//接続ユーザー数を限定
maxclients 5000
//メモリいっぱいになったら古いデータから消す。期限が設定されていないキーは永遠残るみたいなので。
maxmemory-policy allkeys-lru
//サーバー落ちたらデータ諦める(永続化オフ)
save ""
在完成安装后,设置密码。
/usr/local/bin/redis-cli
redis-cli> CONFIG SET REQUIREPASS ''
如果不进行认证,可能会出现需要进行身份验证的情况。
[Unit]
Description=Redis
[Service]
Type=notify
ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf
ExecStop=/usr/local/bin/redis-cli -p 6379 [先程指定しておいたrequirepass]
User=redis
Group=redis
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
如果已停止,请重新启动。
重新启动的时间间隔为10秒。
重新加载恶魔
如果无法正常运行,请怀疑日志文件的权限设置。
此外,可以尝试重新启动。
systemctl daemon-reload
systemctl start redis
systemctl status redis
systemctl enable redis
重新启动还是测试
杀掉 Redis 并停止运行。
当使用”systemctl stop redis”命令时,请注意redis将不会自动重新启动。请确保完全终止它。
ps -ef | grep redis #プロセス番号を調べ
# redis 1531 1 0 15:55 ? 00:00:00
kill -9 1531 #強制停止
服务器重新启动
reboot
如果重新启动服务器,Redis是否会自动启动?如果配置正确,两者都会自动启动。
然而,仅凭此还不足以产生错误。
边查看日志文件(/var/log/redis.log)边进行修正。
https://www.denet.ad.jp/technology/2017/11/redis-centos7.html:
https://blog.megunlabo.net/2018/04/03/redis-install/:
https://www.denet.ad.jp/technology/2017/11/redis-centos7.html:
https://blog.megunlabo.net/2018/04/03/redis-install/: