銀河麒麟V10sp1服務(wù)器系統(tǒng)安裝redis不能使用的快速解決辦法
我們?cè)谶m配時(shí),經(jīng)常需要安裝redis,但是在銀河麒麟 V10sp1 服務(wù)器系統(tǒng)上安裝使用 redis 的時(shí)候會(huì)有諸多問(wèn)題,今天我們就來(lái)逐步分析解決一下。
1. 配好外網(wǎng),使用麒麟源安裝redis:
先在源里搜索一下redis,查看是否有該軟件包:
[root@172-17-102-254 ~]# yum search redis
Last metadata expiration check: 1:46:38 ago on 2020年12月11日 星期五09時(shí)55分08秒.
================================================================================ Name Exactly Matched: redis =================================================================================
redis.aarch64 : A persistent key-value database
=============================================================================== Name & Summary Matched: redis ================================================================================
pcp-pmda-redis.aarch64 : Redis PCP metrics
rsyslog-hiredis.aarch64 : Redis support for rsyslog
hiredis-devel.aarch64 : Development files for hiredis
hiredis.aarch64 : A minimalistic C client library for the Redis database
python2-redis.noarch : The Python2 interface to the Redis key-value store
python3-redis.noarch : The Python3 interface to the Redis key-value store
確認(rèn)有后,我們就可以開(kāi)始安裝了:
yum install redis.aarch64
2. 啟動(dòng)服務(wù)
[root@172-17-102-254 ~]# systemctl start redis
Job for redis.service failed because the control process exited with error code.
See "systemctl status redis.service" and "journalctl -xe" for details.
發(fā)現(xiàn)服務(wù)啟動(dòng)失敗。
3. 查看服務(wù)和日志,定位問(wèn)題
我們先來(lái)看服務(wù)的狀態(tài),看能不能獲取到相關(guān)信息:
[root@172-17-102-254 ~]# systemctl status redis.service
●redis.service - Redis persistent key-value database
Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2020-12-11 13:40:56 CST; 3min 44s ago
Process: 10223 ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd (code=exited, status=217/USER)
Main PID: 10223 (code=exited, status=217/USER)
12月11 13:40:56 172-17-102-254 systemd[1]: Starting Redis persistent key-value database...
12月11 13:40:56 172-17-102-254 systemd[1]: redis.service: Main process exited, code=exited, status=217/USER
12月11 13:40:56 172-17-102-254 systemd[1]: redis.service: Failed with result 'exit-code'.
12月11 13:40:56 172-17-102-254 systemd[1]: Failed to start Redis persistent key-value database.
查看狀態(tài)沒(méi)有獲取到特別有用的信息,我們?cè)賮?lái)看系統(tǒng)日志/var/log/messages,發(fā)現(xiàn)有兩處報(bào)錯(cuò):
a.沒(méi)有日志路徑,不能打開(kāi)日志文件
redis-server[23358]: *** FATAL CONFIG FILE ERROR ***
redis-server[23358]: Reading the configuration file, at line 171
redis-server[23358]: >>>'logfile /var/log/redis/redis.log'
redis-server[23358]:Can't open the log file: No such file or directory
發(fā)現(xiàn)系統(tǒng)/var/log/下沒(méi)有redis目錄,手動(dòng)創(chuàng)建一個(gè):
[root@172-17-102-254 ~]# mkdir -p /var/log/redis
b.跟redis的systemd服務(wù)的用戶相關(guān)
systemd[10355]: redis.service: Failed to determine user credentials: No such process
systemd[10355]: redis.service: Failed at step USER spawning /usr/bin/redis-server: No such process
我們?cè)賮?lái)看一下redis的systemd服務(wù):
[root@172-17-102-254 ~]# cat /lib/systemd/system/redis.service
[Unit]
Description=Redis persistent key-value database
After=network.target
[Service]
ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
Type=notify
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755
[Install]
WantedBy=multi-user.target
可以看到,redis.service 服務(wù)是用 redis 用戶來(lái)啟動(dòng)的,然而查看了/etc/passwd 和 /etc/shadow 文件,都沒(méi)有 redis 用戶的記錄,我們來(lái)手動(dòng)創(chuàng)建一個(gè) redis 用戶,并指定 shell 為 /usr/sbin/nologin:
[root@172-17-102-254 ~]#useradd redis -s /usr/sbin/nologin
并且,把剛剛創(chuàng)建的日志目錄的屬組改成redis:root:
[root@172-17-102-254 ~]#chown -R redis:root /var/log/redis
再來(lái)重啟服務(wù):systemctl restart redis,發(fā)現(xiàn)還是啟動(dòng)失敗,繼續(xù)看messages日志,發(fā)現(xiàn)有這一句:
redis-server[10631]: 10631:C 11 Dec 14:15:22.548 # Fatal error,can't open config file '/etc/redis.conf'
查看發(fā)現(xiàn),redis的配置文件/etc/redis.conf的屬組是root,我們將其改為redis:root。
[root@172-17-102-254 ~]#chown redis:root /etc/redis.conf
繼續(xù)重啟服務(wù):systemctl restart redis,還是失敗,而且系統(tǒng)日志messages里沒(méi)有提供有效信息,有點(diǎn)頭大。我們?cè)賮?lái)看下 /var/log/redis/redis.log,發(fā)現(xiàn)有一句報(bào)錯(cuò):
Can't chdir to '/var/lib/redis': No such file or directory
我們來(lái)手動(dòng)創(chuàng)建一下該目錄,并修改屬組:
[root@172-17-102-254 ~]# mkdir -p /var/lib/redis [root@172-17-102-254 ~]# chown -R redis:root /var/lib/redis
繼續(xù)重啟服務(wù):systemctl restart redis,發(fā)現(xiàn)終于啟動(dòng)成功了,而且能正常使用。
4. 總結(jié)
要在銀河麒麟v10sp1服務(wù)器系統(tǒng)上安裝使用redis,有以下幾個(gè)步驟需要祚:
a. 添加好redis用戶,并指定shell為nologin
useradd redis -s /usr/sbin/nologin
b. 配好外網(wǎng),使用銀河麒麟軟件源安裝redis:
c. 創(chuàng)建redis的日志目錄,并修改屬組為redis:root:
mkdir -p /var/log/redis chown -R redis:root /var/log/redis
d. 創(chuàng)建redis的庫(kù)目錄,并修改屬組為redis:root:
mkdir -p /var/lib/redis chown -R redis:root
e. 確認(rèn)以下redis的配置文件/etc/redis.conf的屬組是否為redis:root
另外,經(jīng)過(guò)測(cè)試發(fā)現(xiàn),如果你想要把redis的服務(wù)以后臺(tái)進(jìn)程 daemon 的方式運(yùn)行,可以修改配置文件 /etc/redis.conf,把其中的 daemonize 的選項(xiàng)由 no 改為 yes,并且 /lib/systemd/system/redis.service 文件里 Type 選項(xiàng)由 notify 改為 forKing,systemd 的分析,這里就不做過(guò)多介紹了。
總而言之,要仔細(xì)看配置文件,碰到問(wèn)題,需要多看日志文件來(lái)解決問(wèn)題。
到此這篇關(guān)于銀河麒麟V10sp1服務(wù)器系統(tǒng)安裝redis不能使用的快速解決辦法的文章就介紹到這了,更多相關(guān)麒麟V10sp1服務(wù)器安裝redis內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
redis簡(jiǎn)介_(kāi)動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了redis簡(jiǎn)介,Redis是一個(gè)開(kāi)源的,先進(jìn)的 key-value 存儲(chǔ)可用于構(gòu)建高性能,可擴(kuò)展的 Web 應(yīng)用程序的解決方案,有興趣的可以了解一下2017-08-08redis初學(xué)者常見(jiàn)字符亂碼問(wèn)題及解決方案
這篇文章主要介紹了redis初學(xué)者常見(jiàn)字符亂碼問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09Redis設(shè)置Hash數(shù)據(jù)類型的過(guò)期時(shí)間
在Redis中,我們可以使用Hash數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)一組鍵值對(duì),而有時(shí)候,我們可能需要設(shè)置這些鍵值對(duì)的過(guò)期時(shí)間,本文主要介紹了Redis設(shè)置Hash數(shù)據(jù)類型的過(guò)期時(shí)間,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01Redis中五種數(shù)據(jù)類型簡(jiǎn)單操作
這篇文章主要介紹了Redis中五種數(shù)據(jù)類型簡(jiǎn)單操作的相關(guān)資料,需要的朋友可以參考下2017-04-04詳解Redis如何優(yōu)雅地實(shí)現(xiàn)接口防刷
這篇文章主要為大家詳細(xì)介紹了Redis優(yōu)雅地實(shí)現(xiàn)接口防刷的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03window下創(chuàng)建redis出現(xiàn)問(wèn)題小結(jié)
這篇文章主要介紹了window下創(chuàng)建redis出現(xiàn)問(wèn)題總結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10