国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

編譯安裝redisd的方法示例詳解

2020-10-28 21:28:15
字體:
來源:轉載
供稿:網友

安裝方法:

yum安裝

查看yum倉庫redis版本

[root@centos ~]# yum list redisLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileAvailable Packagesredis.x86_64  3.2.12-2.el7  myepel

yum安裝

[root@centos ~]# yum install redis -y

啟動服務并設為開機啟動

[root@centos ~]# systemctl enable --now redisCreated symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service. 

查看redis端口

[root@centos ~]# ss -ntlState Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 127.0.0.1:631  *:*  LISTEN 0 100 127.0.0.1:25  *:*  LISTEN 0 128 127.0.0.1:6010  *:*  LISTEN 0 128 *:54909  *:*  LISTEN 0 128 127.0.0.1:6379  *:*  # 這個是redis端口LISTEN 0 128 *:111  *:*  LISTEN 0 5 192.168.122.1:53  *:* 

測試登錄redis

[root@centos ~]# redis-cli127.0.0.1:6379> info# Serverredis_version:3.2.12redis_git_sha1:00000000redis_git_dirty:0redis_build_id:7897e7d0e13773fredis_mode:standaloneos:Linux 3.10.0-1062.el7.x86_64 x86_64arch_bits:64multiplexing_api:epollgcc_version:4.8.5process_id:2914run_id:c75137717c54caa78bb05757d05c91471ef5817ftcp_port:6379uptime_in_seconds:175uptime_in_days:0hz:10lru_clock:4329484executable:/usr/bin/redis-serverconfig_file:/etc/redis.conf# Clientsconnected_clients:1client_longest_output_list:0client_biggest_input_buf:0blocked_clients:0

測試使用

127.0.0.1:6379> set key1 value1OK127.0.0.1:6379> get key1"value1"

編譯安裝

下載當前最新release版本redis源碼包:http://download.redis.io/releases/

編譯安裝命令

官方安裝命令:https://redis.io/download

# 源碼包存放目錄[root@centos ~]# cd /usr/local/src/# 下載源碼包[root@centos src]# wget http://download.redis.io/releases/redis-5.0.7.tar.gz--2020-02-11 10:37:54-- http://download.redis.io/releases/redis-5.0.7.tar.gzResolving download.redis.io (download.redis.io)... 109.74.203.151Connecting to download.redis.io (download.redis.io)|109.74.203.151|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1984203 (1.9M) [application/x-gzip]Saving to: ‘redis-5.0.7.tar.gz'100%[===============================================>] 1,984,203 6.75KB/s in 3m 35s 2020-02-11 10:41:39 (9.02 KB/s) - ‘redis-5.0.7.tar.gz' saved [1984203/1984203]# 查看下載好的源碼包[root@centos src]# lltotal 1940-rw-r--r-- 1 root root 1984203 Nov 20 01:06 redis-5.0.7.tar.gz

解壓源碼包

[root@centos src]# tar xf redis-5.0.7.tar.gz [root@centos src]# lltotal 1940drwxrwxr-x 6 root root 334 Nov 20 01:05 redis-5.0.7-rw-r--r-- 1 root root 1984203 Nov 20 01:06 redis-5.0.7.tar.gz

創建配置文件、日志、數據等目錄

[root@centos ~]# mkdir /apps/redis/{etc,logs,data,run} -p# 查看目錄結構[root@centos ~]# tree /apps//apps/└── redis ├── data ├── etc ├── logs └── run

進入redis目錄編譯安裝

[root@centos ~]# cd /usr/local/src/redis-5.0.7/[root@centos redis-5.0.7]# make PREFIX=/apps/redis installcd src && make installmake[1]: Entering directory `/usr/local/src/redis-5.0.7/src' CC Makefile.depmake[1]: Leaving directory `/usr/local/src/redis-5.0.7/src'make[1]: Entering directory `/usr/local/src/redis-5.0.7/src' CC adlist.o/bin/sh: cc: command not foundmake[1]: *** [adlist.o] Error 127make[1]: Leaving directory `/usr/local/src/redis-5.0.7/src'make: *** [install] Error 2# 出現以上報錯是沒有gcc編譯器導致的# 下載gcc編譯器[root@centos redis-5.0.7]# yum install gcc# 記得這里要把之前的redis目錄刪除重新解壓[root@centos src]# rm -rf redis-5.0.7[root@centos src]# tar xf redis-5.0.7.tar.gz # 重新進入目錄進行編譯[root@centos src]# cd redis-5.0.7/[root@centos redis-5.0.7]# make PREFIX=/apps/redis install # 指定安裝目錄cd src && make installmake[1]: Entering directory `/usr/local/src/redis-5.0.7/src' CC Makefile.depmake[1]: Leaving directory `/usr/local/src/redis-5.0.7/src'make[1]: Entering directory `/usr/local/src/redis-5.0.7/src'rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-rdb redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html Makefile.dep dict-benchmark(cd ../deps && make distclean)make[2]: Entering directory `/usr/local/src/redis-5.0.7/deps'(cd hiredis && make clean) > /dev/null || true(cd linenoise && make clean) > /dev/null || true(cd lua && make clean) > /dev/null || true(cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true(rm -f .make-*)make[2]: Leaving directory `/usr/local/src/redis-5.0.7/deps'(rm -f .make-*)....(省略)Hint: It's a good idea to run 'make test' ;) INSTALL install INSTALL install INSTALL install INSTALL install INSTALL installmake[1]: Leaving directory `/usr/local/src/redis-5.0.7/src'# 最后報這個就是編譯完成

拷貝配置文件

[root@centos redis-5.0.7]# ll total 276-rw-rw-r-- 1 root root 115100 Nov 20 01:05 00-RELEASENOTES-rw-rw-r-- 1 root root 53 Nov 20 01:05 BUGS-rw-rw-r-- 1 root root 2381 Nov 20 01:05 CONTRIBUTING-rw-rw-r-- 1 root root 1487 Nov 20 01:05 COPYINGdrwxrwxr-x 6 root root 192 Feb 11 11:32 deps-rw-rw-r-- 1 root root 11 Nov 20 01:05 INSTALL-rw-rw-r-- 1 root root 151 Nov 20 01:05 Makefile-rw-rw-r-- 1 root root 6888 Nov 20 01:05 MANIFESTO-rw-rw-r-- 1 root root 20555 Nov 20 01:05 README.md-rw-rw-r-- 1 root root 61797 Nov 20 01:05 redis.conf-rwxrwxr-x 1 root root 275 Nov 20 01:05 runtest-rwxrwxr-x 1 root root 280 Nov 20 01:05 runtest-cluster-rwxrwxr-x 1 root root 373 Nov 20 01:05 runtest-moduleapi-rwxrwxr-x 1 root root 281 Nov 20 01:05 runtest-sentinel-rw-rw-r-- 1 root root 9710 Nov 20 01:05 sentinel.confdrwxrwxr-x 3 root root 8192 Feb 11 11:33 srcdrwxrwxr-x 11 root root 182 Nov 20 01:05 testsdrwxrwxr-x 8 root root 4096 Nov 20 01:05 utils[root@centos redis-5.0.7]# cp redis.conf /apps/redis/etc/

啟動redis(這個啟動方式)

[root@centos redis-5.0.7]# /apps/redis/bin/redis-server /apps/redis/etc/redis.conf 8315:C 11 Feb 2020 11:40:12.016 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo8315:C 11 Feb 2020 11:40:12.016 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=8315, just started8315:C 11 Feb 2020 11:40:12.016 # Configuration loaded8315:M 11 Feb 2020 11:40:12.017 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._     _.-``__ ''-._    _.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit .-`` .-```. ```// _.,_ ''-._    ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 8315 `-._ `-._ `-./ _.-' _.-'    |`-._`-._ `-.__.-' _.-'_.-'|    | `-._`-._ _.-'_.-' | http://redis.io  `-._ `-._`-.__.-'_.-' _.-'    |`-._`-._ `-.__.-' _.-'_.-'|    | `-._`-._ _.-'_.-' |    `-._ `-._`-.__.-'_.-' _.-'    `-._ `-.__.-' _.-'    `-._ _.-'    `-.__.-'   8315:M 11 Feb 2020 11:40:12.017 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.8315:M 11 Feb 2020 11:40:12.017 # Server initialized8315:M 11 Feb 2020 11:40:12.017 # 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.8315:M 11 Feb 2020 11:40:12.017 # 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.8315:M 11 Feb 2020 11:40:12.018 * Ready to accept connections

解決當前的警告提示

tcp-backlog
The backlog argument defines the maximum length to which the queue of pending connections for sockfdmay grow. If a connection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection succeeds.

backlog參數控制的是三次握手的時候server端收到client ack確認號之后的隊列值。

[root@centos ~]# echo 511 > /proc/sys/net/core/somaxconnvm.overcommit_memory

0、表示內核將檢查是否有足夠的可用內存供應用進程使用;如果有足夠的可用內存,內存申請允許;否則,內存申請失敗,并把錯誤返回給應用進程。 1、表示內核允許分配所有的物理內存,而不管當前的內存狀態如何。 2、表示內核允許分配超過所有物理內存和交換空間總和的內存

[root@centos ~]# echo "vm.overcommit_memory = 1" >/etc/sysctl.conftransparent hugepage大頁內存動態分配,需要關閉讓redis 負責內存管理。[root@centos ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

重啟一下服務

# 再次啟動服務,警告信息沒有了。[root@centos ~]# /apps/redis/bin/redis-server /apps/redis/etc/redis.conf 1847:C 13 Feb 2020 12:03:59.281 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo1847:C 13 Feb 2020 12:03:59.281 # Redis version=5.0.7, bits=64, commit=00000000, modified=0, pid=1847, just started1847:C 13 Feb 2020 12:03:59.281 # Configuration loaded1847:M 13 Feb 2020 12:03:59.282 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._     _.-``__ ''-._    _.-`` `. `_. ''-._ Redis 5.0.7 (00000000/0) 64 bit .-`` .-```. ```// _.,_ ''-._    ( ' , .-` | `, ) Running in standalone mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 6379 | `-._ `._ / _.-' | PID: 1847 `-._ `-._ `-./ _.-' _.-'    |`-._`-._ `-.__.-' _.-'_.-'|    | `-._`-._ _.-'_.-' | http://redis.io  `-._ `-._`-.__.-'_.-' _.-'    |`-._`-._ `-.__.-' _.-'_.-'|    | `-._`-._ _.-'_.-' |    `-._ `-._`-.__.-'_.-' _.-'    `-._ `-.__.-' _.-'    `-._ _.-'    `-.__.-'   1847:M 13 Feb 2020 12:03:59.282 # Server initialized1847:M 13 Feb 2020 12:03:59.282 * DB loaded from disk: 0.000 seconds1847:M 13 Feb 2020 12:03:59.282 * Ready to accept connections

編輯redis服務啟動腳本

[root@centos ~]# cat /usr/lib/systemd/system/redis.service[Unit]Description=Redis persistent key-value databaseAfter=network.targetAfter=network-online.targetWants=network-online.target[Service]#ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemdExecStart=/apps/redis/bin/redis-server /apps/redis/etc/redis.conf --supervised systemdExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDType=notifyUser=redisGroup=redisRuntimeDirectory=redisRuntimeDirectoryMode=0755[Install]WantedBy=multi-user.target

添加redis用戶

# 添加用戶和組[root@centos ~]# groupadd -g 1001 redis && useradd -u 1001 -g 1001 redis -s /sbin/nologin# 數據目錄設置所有者所屬組[root@centos ~]# chown redis.redis -R /apps/redis/system啟動測試# 開啟redis并設為開機啟動[root@centos ~]# systemctl enable --now redisCreated symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.# 查看端口[root@centos ~]# ss -tnlState Recv-Q Send-Q   Local Address:Port    Peer Address:Port LISTEN 0 128   127.0.0.1:631     *:*  LISTEN 0 100   127.0.0.1:25     *:*  LISTEN 0 128   127.0.0.1:6010     *:*  LISTEN 0 128   127.0.0.1:6011     *:*  LISTEN 0 128    *:43108     *:*  LISTEN 0 511   127.0.0.1:6379     *:* # 這個為redis端口 LISTEN 0 128    *:111     *:*  LISTEN 0 5   192.168.122.1:53     *:*  LISTEN 0 128    *:22     *:*  LISTEN 0 128    [::1]:631     [::]:*  LISTEN 0 100    [::1]:25     [::]:*  LISTEN 0 128    [::1]:6010    [::]:*  LISTEN 0 128    [::1]:6011    [::]:*  LISTEN 0 128    [::]:59279    [::]:*  LISTEN 0 128    [::]:111     [::]:*  LISTEN 0 128 [::]:22     [::]:* 

客戶端連接redis測試

# 這里還沒有把這個命令加到PATH變量里[root@centos ~]# /apps/redis/bin/redis-cli 127.0.0.1:6379> info# Serverredis_version:5.0.7redis_git_sha1:00000000redis_git_dirty:0redis_build_id:b0887378c143d6e9redis_mode:standaloneos:Linux 3.10.0-1062.el7.x86_64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:atomic-builtingcc_version:4.8.5process_id:2088run_id:e0bbd2dc1561d1610565c6c8fb61aa817e30924ctcp_port:6379

創建命令軟連接(也可以把這個路徑加到PATH變量里面)

[root@centos ~]# ln -sv /apps/redis/bin/redis-* /usr/bin/‘/usr/bin/redis-benchmark' -> ‘/apps/redis/bin/redis-benchmark'‘/usr/bin/redis-check-aof' -> ‘/apps/redis/bin/redis-check-aof'‘/usr/bin/redis-check-rdb' -> ‘/apps/redis/bin/redis-check-rdb'‘/usr/bin/redis-cli' -> ‘/apps/redis/bin/redis-cli'‘/usr/bin/redis-sentinel' -> ‘/apps/redis/bin/redis-sentinel'‘/usr/bin/redis-server' -> ‘/apps/redis/bin/redis-server'# 命令連接測試[root@centos ~]# redis-cli 127.0.0.1:6379> info# Serverredis_version:5.0.7redis_git_sha1:00000000redis_git_dirty:0redis_build_id:b0887378c143d6e9redis_mode:standaloneos:Linux 3.10.0-1062.el7.x86_64 x86_64arch_bits:64multiplexing_api:epollatomicvar_api:atomic-builtingcc_version:4.8.5process_id:2088run_id:e0bbd2dc1561d1610565c6c8fb61aa817e30924ctcp_port:6379uptime_in_seconds:755uptime_in_days:0[root@centos ~]# ll /apps/redis/bin/total 32772-rwxr-xr-x 1 redis redis 4366824 Feb 11 11:33 redis-benchmark # redis性能測試工具-rwxr-xr-x 1 redis redis 8125216 Feb 11 11:33 redis-check-aof # AOF文件檢查工具-rwxr-xr-x 1 redis redis 8125216 Feb 11 11:33 redis-check-rdb # RDB文件檢查工具 -rwxr-xr-x 1 redis redis 4807896 Feb 11 11:33 redis-cli # 客戶端工具lrwxrwxrwx 1 redis redis 12 Feb 11 11:33 redis-sentinel -> redis-server # 哨兵軟連接到server-rwxr-xr-x 1 redis redis 8125216 Feb 11 11:33 redis-server # redis 服務啟動命令

**以上就是redis的安裝方法和一些小問題的解決方法了!**

總結

以上所述是小編給大家介紹的編譯安裝redisd的方法示例詳解,希望對大家有所幫助,也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄骅市| 桃源县| 宁国市| 宁德市| 淮阳县| 抚顺市| 阜新市| 饶河县| 乃东县| 南投县| 司法| 和硕县| 阳春市| 舟曲县| 阿荣旗| 瑞丽市| 广灵县| 农安县| 卓尼县| 天全县| 茶陵县| 武穴市| 阿瓦提县| 抚宁县| 新平| 莱州市| 武陟县| 大余县| 泾川县| 岳普湖县| 吕梁市| 高阳县| 威信县| 河东区| 常山县| 新闻| 灵台县| 杭州市| 乃东县| 东安县| 柳江县|