首先參照https://www.cnblogs.com/wdw984/p/13330074.html,來進行如何安裝Centos和離線下載rpm包。 離線下載jemalloc,上傳到CentOS的/data/rpm/jemalloc目錄 因為redis6.0.5推薦使用jemalloc管理記憶體,所以 ...
首先參照https://www.cnblogs.com/wdw984/p/13330074.html,來進行如何安裝Centos和離線下載rpm包。
離線下載jemalloc,上傳到CentOS的/data/rpm/jemalloc目錄
因為redis6.0.5推薦使用jemalloc管理記憶體,所以我們先安裝jemalloc,按照以下順序安裝rpm包
rpm -ivh audit-libs-python-2.8.5-4.el7.x86_64.rpm rpm -ivh scl-utils-20130529-19.el7.x86_64.rpm rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm rpm -ivh libcgroup-0.41-21.el7.x86_64.rpm rpm -ivh python-IPy-0.75-6.el7.noarch.rpm rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm rpm -ivh policycoreutils-python-2.5-34.el7.x86_64.rpm rpm -ivh rh-varnish5-runtime-3.1-4.el7.x86_64.rpm rpm -ivh rh-varnish5-jemalloc-5.0.1-2.el7.x86_64.rpm rpm -ivh jemalloc-3.6.0-8.el7.centos.x86_64.rpm
去redis官網下載redis6.0.5的gz包(http://download.redis.io/releases/redis-6.0.5.tar.gz)
把下載的gz包上傳到CentOS中,比如/data/rpm目錄中
使用tar xzf redis-6.0.5.tar.gz解壓縮gz包,進入redis-6.0.5目錄,執行make命令
由於目前我們使用的gcc版本是4.8,所以在編譯redis6.05的時候會報錯
下麵我們安裝高版本的gcc來編譯它。
首先去下載devtoolset-9的rpm包,上傳到/data/rpm/devtoolset-9目錄中
按照以下順序安裝rpm文件
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm rpm -ivh cpp-4.8.5-39.el7.x86_64.rpm rpm -ivh gcc-4.8.5-39.el7.x86_64.rpm rpm -ivh scl-utils-20130529-19.el7.x86_64.rpm rpm -ivh zip-3.0-11.el7.x86_64.rpm rpm -ivh unzip-6.0-21.el7.x86_64.rpm rpm -ivh libquadmath-4.8.5-39.el7.x86_64.rpm rpm -ivh libgfortran5-8.3.1-2.1.1.el7.x86_64.rpm rpm -ivh libgcc-4.8.5-39.el7.i686.rpm rpm -ivh dwz-0.11-3.el7.x86_64.rpm yum localinstall perl*.rpm rpm -ivh python-srpm-macros-3-32.el7.noarch.rpm rpm -ivh redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpm rpm -ivh avahi-libs-0.6.31-20.el7.x86_64.rpm rpm -ivh boost-regex-1.53.0-28.el7.x86_64.rpm rpm -ivh libcgroup-0.41-21.el7.x86_64.rpm rpm -ivh audit-libs-python-2.8.5-4.el7.x86_64.rpm rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm rpm -ivh python-IPy-0.75-6.el7.noarch.rpm rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm rpm -ivh policycoreutils-python-2.5-34.el7.x86_64.rpm rpm -ivh devtoolset-9-runtime-9.1-0.el7.x86_64.rpm rpm -ivh devtoolset-9-elfutils-libelf-0.176-6.el7.x86_64.rpm rpm -ivh devtoolset-9-elfutils-libs-0.176-6.el7.x86_64.rpm rpm -ivh devtoolset-9-elfutils-0.176-6.el7.x86_64.rpm rpm -ivh devtoolset-9-dyninst-10.1.0-4.el7.x86_64.rpm rpm -ivh devtoolset-9-binutils-2.32-16.el7.x86_64.rpm rpm -ivh devtoolset-9-memstomp-0.1.5-5.el7.x86_64.rpm rpm -ivh devtoolset-9-oprofile-1.3.0-4.el7.x86_64.rpm rpm -ivh devtoolset-9-dwz-0.12-1.1.el7.x86_64.rpm rpm -ivh devtoolset-9-libstdc++-devel-9.3.1-2.el7.x86_64.rpm rpm -ivh devtoolset-9-strace-5.1-7.el7.x86_64.rpm rpm -ivh devtoolset-9-valgrind-3.15.0-9.el7.x86_64.rpm rpm -ivh devtoolset-9-make-4.2.1-2.el7.x86_64.rpm rpm -ivh devtoolset-9-ltrace-0.7.91-2.el7.x86_64.rpm rpm -ivh boost-system-1.53.0-28.el7.x86_64.rpm rpm -ivh devtoolset-9-systemtap-runtime-4.1-9.el7.x86_64.rpm rpm -ivh efivar-libs-36-12.el7.x86_64.rpm rpm -ivh mokutil-15-2.el7.centos.x86_64.rpm rpm -ivh devtoolset-9-systemtap-client-4.1-9.el7.x86_64.rpm rpm -ivh kernel-debug-devel-3.10.0-1127.13.1.el7.x86_64.rpm rpm -ivh devtoolset-9-systemtap-devel-4.1-9.el7.x86_64.rpm rpm -ivh devtoolset-9-systemtap-4.1-9.el7.x86_64.rpm rpm -ivh devtoolset-9-perftools-9.1-0.el7.x86_64.rpm rpm -ivh ctags-5.8-13.el7.x86_64.rpm rpm -ivh devtoolset-9-gcc-9.3.1-2.el7.x86_64.rpm rpm -ivh devtoolset-9-gcc-c++-9.3.1-2.el7.x86_64.rpm
rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm
安裝完成後,運行scl enable devtoolset-9 bash在當前會話中啟用高版本的gcc
然後我們運行gcc --version就可以看到我們的gcc版本大於4.8了
如果要每次登錄都自動切換成高版本的gcc,需要運行一下 vi /etc/profile 在最後一行加入scl enable devtoolset-9 bash
然後我們在切換到redis6.0.5目錄,進行make,順利編譯完成
然後我們啟用網路(service network start),進行make test,通過測試
安裝(make install)並運行redis
運行redis-cli進行一下測試
至此,我們完成了離線編譯安裝redis6.0.5