天天看點

Ubuntu下Redis6的下載下傳編譯安裝

apt 安裝redis-server

$ sudo apt search redis-server
$ sudo apt install redis-server -y #安裝

# 安裝redis檢視服務程序
webrx@us:~$ sudo systemctl status redis-server
● redis-server.service - Advanced key-value store
  Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
  Active: active (running) since Mon 2021-12-06 11:35:38 CST; 23s ago
    Docs: http://redis.io/documentation,
          man:redis-server(1)
Main PID: 4990 (redis-server)
   Tasks: 4 (limit: 4583)
  Memory: 2.0M
  CGroup: /system.slice/redis-server.service
          └─4990 /usr/bin/redis-server 127.0.0.1:6379

12月 06 11:35:38 us systemd[1]: Starting Advanced key-value store...
12月 06 11:35:38 us systemd[1]: redis-server.service: Can't open PID file /run/redis/redis-server.pid (yet?) after start: Operatio>
12月 06 11:35:38 us systemd[1]: Started Advanced key-value store.
webrx@us:~$ ps -ef | grep redis
redis       4990       1  0 11:35 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
webrx       5292    1192  0 11:37 pts/0    00:00:00 grep --color=auto redis
webrx@us:~$ 

## 檢視redis版本資訊
webrx@us:~$ redis-server -v
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923
webrx@us:~$ redis-cli --version
redis-cli 5.0.7
webrx@us:~$ redis-server --version
Redis server v=5.0.7 sha=00000000:0 malloc=jemalloc-5.2.1 bits=64 build=636cde3b5c7a3923

## 使用用戶端登入連接配接redis 預設端口号 6379
webrx@us:~$ redis-cli -h localhost -p 6379
localhost:6379> get n
"18"
localhost:6379> exit
webrx@us:~$ redis-cli
127.0.0.1:6379> get n
"18"
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

## 設定遠端通路 編輯/etc/redis/redis.conf 注釋 127.0.0.1 保護設定為 no

           
webrx@us:~$ ls /lib/systemd/system/redis-server.service
/lib/systemd/system/redis-server.service
webrx@us:~$ cat /lib/systemd/system/redis-server.service
[Unit]
Description=Advanced key-value store
After=network.target
Documentation=http://redis.io/documentation, man:redis-server(1)

[Service]
Type=forking
ExecStart=/usr/bin/redis-server /etc/redis/redis.conf
PIDFile=/run/redis/redis-server.pid
TimeoutStopSec=0
Restart=always
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=2755

UMask=007
PrivateTmp=yes
LimitNOFILE=65535
PrivateDevices=yes
ProtectHome=yes
ReadOnlyDirectories=/
ReadWritePaths=-/var/lib/redis
ReadWritePaths=-/var/log/redis
ReadWritePaths=-/var/run/redis

NoNewPrivileges=true
CapabilityBoundingSet=CAP_SETGID CAP_SETUID CAP_SYS_RESOURCE
MemoryDenyWriteExecute=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectControlGroups=true
RestrictRealtime=true
RestrictNamespaces=true
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX

# redis-server can write to its own config file when in cluster mode so we
# permit writing there by default. If you are not using this feature, it is
# recommended that you replace the following lines with "ProtectSystem=full".
ProtectSystem=true
ReadWriteDirectories=-/etc/redis

[Install]
WantedBy=multi-user.target
Alias=redis.service
webrx@us:~$ 
           

源碼編譯安裝6.2.6

$ sudo apt install gcc make -y 
$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz
$ tar xzf redis-6.2.6.tar.gz
$ cd redis-6.2.6
$ make
$ cd src
#隻顯示可執行的程式
$ ls -F | grep "*"

webrx@us:~/redis-6.2.6/src$ ls -F | grep '*'
mkreleasehdr.sh*
redis-benchmark*
redis-check-aof*
redis-check-rdb*
redis-cli*
redis-sentinel*
redis-server*
redis-trib.rb*
           

redis.io下載下傳

Ubuntu下Redis6的下載下傳編譯安裝

tar解壓

Ubuntu下Redis6的下載下傳編譯安裝
Ubuntu下Redis6的下載下傳編譯安裝

cd make install 安裝

$ cd redis-6.2.6
$ sudo make PREFIX=/usr/local/redis install 
           
Ubuntu下Redis6的下載下傳編譯安裝

建立data logs conf

Ubuntu下Redis6的下載下傳編譯安裝

修改配置/usr/local/redis/conf/redis.conf 檔案

75 bind 127.0.0.1 -::1 注釋此行
#bind 127.0.0.1 -::1

94 protected-mode yes 修改為
protected-mode no

98 port 6379 此行不用修改

257 daemonize no 修改為
daemonize yes

289 pidfile /var/run/redis_6379.pid 此行不變和/etc/systemd/system/redis.service内容一樣

302 logfile "" 修改為
logfile "/usr/local/redis/logs/redis.log"

431 dbfilename dump.rdb #此行不變,為資料庫名

454 #dir ./ 修改為
dir /usr/local/redis/data/

901 # requirepass foobared 修改為取消注釋,設定密碼
requirepass 123456
           
#/usr/local/redis/redis_6379.conf
#導入預設配置檔案(公共配置)
include /usr/local/redis/redis.conf
protected-mode no
#伺服器端口号
port 6379

daemonize yes
#伺服器程序檔案
pidfile /var/run/redis_6379.pid
#日志檔案
logfile "/usr/local/redis/6379.log"
#資料庫檔案
dbfilename dump_6379.rdb
#資料庫dump_6379.rdb檔案所在的目錄
dir /usr/local/redis/
#密碼
requirepass 123456
           

建立/redis.service服務配置檔案

#建立檔案 sudo vim /etc/systemd/system/redis6380.service 
#内容如下:
[Unit]
Description=Advanced key-value store
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecStop=/bin/kill -s TERM $MAINPID
PIDFile=/var/run/redis_6379.pid
Restart=always
RestartSec=5s
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=redis.service
           

安裝啟動服務

#别名
$ alias redis='/usr/local/redis/bin/redis-cli'

#redis用戶端登入 -h 主機 -p 端口 -n 資料庫代号 -a 
$ redis -h localhost  -p 6379 -n 0 -a 123456
           
1、sudo apt install gcc make pkg-config -y
2、wget https://download.redis.io/releases/redis-6.2.6.tar.gz
3、tar -zxvf redis-6.2.6.tar.gz
4、cd redis-6.2.6 
5、sudo make PREFIX=/usr/local/redis install
   #編譯安裝後,可執行的程式在
   /usr/local/redis/bin 目錄 redis-server 伺服器  redis-cli用戶端
6、sudo cp redis.conf /usr/local/redis 
   #複制配置檔案到 /usr/local/redis
7、sudo ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
   #建立軟連接配接,就是快捷方式,可以直接輸入redis用戶端登入伺服器
   #cd /usr/local/redis/bin 目錄下
   # ./redis-cli 才能登入
8、編輯sudo vim /usr/local/redis/redis.conf 
	75 bind 127.0.0.1 -::1 注釋此行
	#bind 127.0.0.1 -::1

	94 protected-mode yes 修改為
	protected-mode no

	98 port 6379 此行不用修改

	257 daemonize no 修改為
	daemonize yes

	289 pidfile /var/run/redis_6379.pid 此行不變和/etc/systemd/system/redis.service内容一樣

	302 logfile "" 修改為
	logfile "/usr/local/redis/logs/redis.log"

	431 dbfilename dump.rdb #此行不變,為資料庫名

	454 #dir ./ 修改為
	dir /usr/local/redis/data/

	901 # requirepass foobared 修改為取消注釋,設定密碼
	requirepass 123456    

9、建立服務檔案 sudo vim /etc/systemd/system/redis.service 
	#建立檔案 sudo vim /etc/systemd/system/redis.service 
	#内容如下:
	[Unit]
	Description=Advanced key-value store
	After=network.target

	[Service]
	Type=forking
	ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
	ExecStop=/bin/kill -s TERM $MAINPID
	PIDFile=/var/run/redis_6379.pid
	Restart=always
	RestartSec=5s
	Restart=on-failure

	[Install]
	WantedBy=multi-user.target
	Alias=redis.service

10、sudo systemctl enable redis.service  #将redis伺服器設定開機啟動 
    sudo systemctl start redis #直接手動啟動redis服務
    sudo systemctl status redis #可以檢視redis服務狀态
    #檢視redis相關的程序
    ps -ef | grep redis
	root         826       1  0 12月09 ?      00:01:19 /usr/local/redis/bin/redis-server *:6379
	root        1348       1  0 12月09 ?      00:01:21 ./redis-server *:6380
	webrx      24789   24774  0 10:55 pts/0    00:00:00 grep --color=auto redis

11、redis 回車 預設是本機 localhost 端口6379 -n 0
    127.0.0.1>ping
    PONG

    127.0.0.1>shutdown #給伺服器發送一個關閉指令

    #臨時關閉服務,下次開機redis自動啟動
    sudo systemctl stop redis