从虚拟机到redis你只需要一篇文章

文章背景

鄙人本是计算机专业出身,但是大学是名副其实的学渣一名,没办法,出来混总是要还的,记得大学那会自己面对着这linux系统,什么鬼?玩玩手机就睡觉吧

现如今,怎一个惨子了得,仅以此文章献跟那些在技术钻研道路上的大牛致敬,并与那些那些在计算机课上睡觉刷抖音的小弟弟共勉啊

1、虚拟机的创建

(1)、虚拟机选用vmwar 14

https://www.vmware.com/cn.html
并献上激活密码

1 vmware永久激活码 2 FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA 3 CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD

推荐使用下面安装步骤进行一步步安装(我也是捡现成的啊)

https://www.linuxidc.com/Linux/2014-10/108013.htm

(2)、linux系统选用cent os7(64bit)

主要安装之前需要下载linux下cent os7的 iso映射镜像文件

http://www.jb51.net/os/RedHat/395751.html

注意版本要匹配

坑1:在配置系统语言时一定要选择中文啊,除非你的英文很666

坑2:硬盘分区可以根据自己的需要进行分区,这样性能会更高一些

2、redis服务器的安装

(1)、redis的下载 推荐下载稳定的版本3.0.0即可

http://redis.io/download

(2)、利用xshell工具将下载好的压缩包上传至linux下自己新建的文件夹redis

坑1、安装文件一般在linux环境中root权限进行操作,所以非root权限用户上传文件的过程会一直报错

在这里我们修改为文件夹权限为所有用户可读可写

常用修改权限的命令:

sudo chmod 600 ××× (只有所有者有读和写的权限) 
sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限) 
sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)
sudo chmod 666 ××× (每个人都有读和写的权限)
sudo chmod 777 ××× (每个人都有读和写以及执行的权限)

(3)、解压缩

tar -zxf redis-3.0.0.tar.gz

(4)、make 编译

坑2:编译需要C语言编译器gcc的支持,如果没有,需要先安装gcc。可以使用rpm -q gcc查看gcc是否安装

不然会报错

make[3]: 进入目录“/usr/local/redis-3.0.0/deps/hiredis”  
gcc -std=c99 -pedantic -c -O3 -fPIC  -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb  net.c  
make[3]: gcc:命令未找到  
make[3]: *** [net.o] 错误 127  
make[3]: 离开目录“/usr/local/redis-3.0.0/deps/hiredis”  
make[2]: *** [hiredis] 错误 2  
make[2]: 离开目录“/usr/local/redis-3.2.8/deps”  
make[1]: [persist-settings] 错误 2 (忽略)  
    CC adlist.o  
/bin/sh: cc: 未找到命令  
make[1]: *** [adlist.o] 错误 127  
make[1]: 离开目录“/usr/local/redis-3.0.0/src”  
make: *** [all] 错误 2  

解决方法:

[root@bogon redis-3.0.0]# yum install -y gcc g++ gcc-c++ make  

 

坑3:继续make 会出现另一个错误

[root@bogon redis-3.0.0]# make  
cd src && make all  
make[1]: 进入目录“/usr/local/redis-3.0.0/src”  
    CC adlist.o  
In file included from adlist.c:34:0:  
zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录  
 #include <jemalloc/jemalloc.h>  
                               ^  
编译中断。  
make[1]: *** [adlist.o] 错误 1  
make[1]: 离开目录“/usr/local/redis-3.0.0/src”  
make: *** [all] 错误 2 

解决方法:

 1 原因分析  
 2 在README 有这个一段话。  
 3   
 4 Allocator    
 5 ---------    
 6    
 7 Selecting a non-default memory allocator when building Redis is done by setting    
 8 the `MALLOC` environment variable. Redis is compiled and linked against libc    
 9 malloc by default, with the exception of jemalloc being the default on Linux    
10 systems. This default was picked because jemalloc has proven to have fewer    
11 fragmentation problems than libc malloc.    
12    
13 To force compiling against libc malloc, use:    
14    
15     % make MALLOC=libc    
16    
17 To compile against jemalloc on Mac OS X systems, use:    
18    
19     % make MALLOC=jemalloc  
20   
21 说关于分配器allocator, 如果有MALLOC  这个 环境变量, 会有用这个环境变量的 去建立Redis。  
22   
23 而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。  
24   
25 但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数。 

 

此时可以编译成功启动服务

1 [root@bogon src]# ./redis-server  

 

28198:C 24 Feb 14:04:55.227 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf  
28198:M 24 Feb 14:04:55.230 * Increased maximum number of open files to 10032 (it was originally set to 1024).  
                _._                                                    
           _.-``__ ''-._                                               
      _.-``    `.  `_.  ''-._           Redis 3.0.0 (00000000/0) 64 bit  
  .-`` .-```.  ```\/    _.,_ ''-._                                     
 (    '      ,       .-`  | `,    )     Running in standalone mode  
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379  
 |    `-._   `._    /     _.-'    |     PID: 28198  
  `-._    `-._  `-./  _.-'    _.-'                                     
 |`-._`-._    `-.__.-'    _.-'_.-'|                                    
 |    `-._`-._        _.-'_.-'    |           http://redis.io          
  `-._    `-._`-.__.-'_.-'    _.-'                                     
 |`-._`-._    `-.__.-'    _.-'_.-'|                                    
 |    `-._`-._        _.-'_.-'    |                                    
  `-._    `-._`-.__.-'_.-'    _.-'                                     
      `-._    `-.__.-'    _.-'                                         
          `-._        _.-'                                             
              `-.__.-'                                                 

 

posted @ 2018-03-28 20:22  樱木不花道3号  阅读(470)  评论(0)    收藏  举报