腾讯云服务器CentOS 7.6安装基本中间件

  摘要:由于最近开始学习Redis和Zookeeper了,因此使用云服务器的频率开始多了起来,并且开始了基础的安装教学,由于我之前确实没用过Linux系统,因此用起来非常的痛苦,同时由于不同平台之间的云服务器存在差异,导致在查资料并按照别人的步骤安装时,总是出现问题,因此今天在这里着重的整理一下各种中间件的安装过程

1.Java安装

1.1.手动Java安装

  这种安装方式是最为麻烦的一种方式,但也是最为稳妥的安装方式。首先我们需要从Java官网把Java下载下来,当然是要下载和操作系统相匹配的版本,我们应该是下载Linux的64位版本,现在我们已经下载了下来:

  然后我们将其上传至服务器,位置随意,但是最好不是根目录,这里我将其上传至主目录的opt文件夹中去:

  上传之后可以看到Java已经存在于这里了,之后我们解压:

  可见已经解压完成了:

  我们通常需要记住jdk的安装位置,并在之后配置Java环境变量的时候使用到这个路径,我们可以将jdk放到任意一个系统允许的目录中去,只要在配置环境变量的时候注意书写相应的路径即可,现在我们不做任何更改了,就把jdk放在opt中,因此我们现在可以直接去配置环境变量了。

JAVA_HOME=/opt/jdk-18
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

  上边的配置信息,就是我们需要在路径配置文件中填写的东西,这些东西实际上和我们在Windows中填写的东西是差不多的,复制这段配置信息,我们要进到系统的环境变量配置文件中去,输入指令:vim /etc/profile,进入配置文件:

  如图所示,我们进入配置文件,并将配置信息插入到一个位置中去:

  在插入成功后,我们保存并退出,使用source /etc/profile指令,使刚刚配置的环境变量生效,生效之后,Java就可以使用了,我们之后使用java -version指令来测试一下是否安装成功:

  可见Java已经安装成功。

1.2.使用yum进行自动安装

  使用指令yum install java-devel,可以直接安装并配置一个Java 8,yum是一个Linux系统中的安装软件的工具,同wget是一类东西,我使用的腾讯云是自带这个工具的,没有这个工具的用户可以在网上搜一下,关于yum的安装非常多,我目前先不介绍。

  在经历一阵子日志输出后,Java就安装好了,如图。接下来我们测试一下java的安装结果:

2.升级GCC

  我们为何要升级GCC?这是因为我们要下载安装Redis,因为Redis是使用C语言编写的,在Linux系统上自然需要C语言的编译器,被编译之后才能运行,因此我的服务器上首先必须要有GCC,即使有GCC,也不见得能够编译它,因为Redis如果版本比较新,是不兼容低版本的GCC的,因此我们首先需要安装或者升级最新版的GCC,接下来我们升级GCC,升级需要的指令步骤如下:

yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

  首先我们运行指令yum -y install centos-release-scl

  如图所示的话,就是安装成功了。之后我们运行yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

  同理,如图所示的话,就算成功了,我们继续执行scl enable devtoolset-9 bash指令:

  接下来是echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

  都执行完后,我们使用gcc -v指令查看GCC版本,使用这些指令可以让GCC升级到大版本为9的版本:

  可见已经成功了。至此GCC升级完成。

3.安装Redis

  在升级完成GCC之后,我们就可以愉快的安装Redis了,Redis的安装并不是特别复杂,更需要注意的是配置文件的设置以及端口号的配置。需要说明的是:问题一旦上升到服务器这个概念,它就不再简单了,安全问题将是一个严重的问题。我们在使用个人电脑的时候,实际上很少被黑,只要你不胡乱操作,电脑一般不会中病毒,也不会被黑客攻击,因为我们大部分人的个人电脑没啥被黑的价值,同时隐藏的也非常好,非常重要的一点就是我们的计算机的IP地址是动态的,公网地址经常变化,因此就更难被锁定了。但是服务器不是这样,服务器的公网地址在很长一段时间内,都是固定的,而且服务器通常具备更高的算力,被黑之后有更大的利用价值,因此我们租用的云服务器,如果防火墙端口开放不当,就很容易被黑,Redis的默认端口6379,就相当容易被攻击并利用,为了解决这个问题,我们通常会给Redis设置密码,或者索性通过配置文件,为Redis设置另外一个端口,接下来,我们来一步一步的安装Redis。

3.1.Redis下载

  Redis的下载方式同上边的Java一样,有多种方式。我们通常使用一种叫做wget的工具下载,wget+下载链接就是下载格式,如:wget http://download.redis.io/releases/redis-6.0.8.tar.gz,需要注意的是,wget后边的下载链接即使是在Windows中也是可以使用的,因为其就是一个普通的下载链接,不信的话我们可以将其放到浏览器的搜索栏中查询一下:

  按下回车键,就会出现下面的弹框:

  现在我们可以选择使用自己的个人计算机下载后传输上去,也可以选择直接使用wget在Linux上下载,这里我们使用Linux使用指令直接下载:

3.2.Redis解压

  下载完成后,我们可以在下载位置看到它,之后如下图所示,我们将其解压:

  如下图所示的红框中,就是解压好的Redis:

3.3.将Redis放进便于管理的目录

  我们通常要将Redis放到/usr/local/redis目录,这是为了方便管理,因此我们使用移动命令将其放入这个位置,移动命令为:mv redis-6.0.8 /usr/local/redis,这里的路径可以是绝对路径也可以是相对路径,绝对路径的写法如下(绝对路径可以使用pwd指令获取到):

mv /opt/redis-6.0.8 /usr/local/redis

3.4.使用GCC编译Redis安装程序并安装

  我们执行这个命令之后,就需要进入到Redis的真实目录中去操作了,也就是usr下的local下的redis里,我们使用指令cd /usr/local/redis直接进入到这个目录下,可以看见内部是这样的:

  之后我们要进行一个编译并安装的过程,Redis下载下来的安装程序是C语言源码,因此我们需要先将其编译成机器码,然后再运行安装程序,安装Redis,编译使用make指令即可完成:

  在漫长的编译过程完成之后,我们就可以安装这个Redis软件了,输入指令make PREFIX=/usr/local/redis install,即可安装,其中/usr/local/redis参数是安装路径,这个路径可以是任意的,但是我们通常喜欢安装好软件之后将安装程序删除掉,这里由于安装路径和安装程序的路径重合了,因此这个操作正好能把安装程序顶走,故我们直接在当前目录下安装:

3.5.进行配置文件的更改及尝试运行

  上图为安装步骤,在安装完成之后,我们就需要进入Redis的安装路径中,修改一些配置文件的参数,以保证这个Redis能够正常运行,我们需要在Redis目录下,编辑redis.conf配置文件,使用vim redis.conf即可编辑:

  如果想通过其他计算机远程访问这个服务器上的Redis,我们首先需要将bind 127.0.0.1注销掉,或者换成 bind 0.0.0.0,这是因为该配置项指定了可以访问该Redis服务的IP地址,简单来说就是访问者白名单,我们都知道127.0.0.1指的是本机地址,我们如果想远程访问,比如将这里填上我们自己的IP,但是如果访问者比较多,嫌麻烦,或者是在学习阶段,不考虑安全因素的情况下,我们可以将这里注释掉或者改成bind 0.0.0.00.0.0.0也表示任意地址。我姑且将这里先注销:

  之后我们关闭其保护模式,在如下图所示的配置项中,我们将yes改为no,改为protected-mode no,接触保护模式之后这个服务的端口就可以被访问了:

  修改完成如下图所示:

  之后我们修改这个服务的端口,6379端口是其默认端口,极易受到攻击,因此我们改成一个其他的没有被占用的端口,这样一来就会安全许多,这里大家想怎么该都行:

  在此我改成了9999:

  最后我们设置密码,密码设置配置项为requirepass XXX,其中XXX部分为密码具体的值,比如我们可以设个12345:

  当然不建议设置这么简单的密码,设置一个复杂的密码,加上修改了端口号,基本上就能杜绝大部分恶意攻击了。密码的配置项可以在任意位置。在此之后我们就可以启动服务了,如何启动服务呢?我们可以在redis目录下,使用指令:./bin/redis-server ./redis.conf来启动服务,这个指令的意思就是让当前在bin目录下的redis-server脚本按照在当前目录下的redis.conf配置文件配置的那样执行,需要注意的是,不仅仅在bin目录下有着启动服务的脚本,在src目录下同样有着启动目录的脚本,如图:

  这意味着在src目录下,我们也是可以启动服务的,当然我们仍然需要设置配置文件,在src目录内外都可以启动服务,只不过脚本命令的第一个参数的路径地址要变一下,在src目录下,这个指令为:./redis-server ../redis.conf,接下来让我们试试看:

3.6.解决运行中的守护进程模式问题

  由上面的图片可见已经启动成功,接下来让我们测试一下端口,看看redis是否已经占用上了这个端口并持续不断地提供服务,这里需要注意的是在使用该指令查看端口占用情况之前,先保证该端口是被打开的,因此我们使用firewall-cmd --query-port=9000/tcp(我把端口改为了9000,这个可以随意改,在测端口时如实填写自己的端口就行了)指令查看端口是否被打开,如果打开了会输出一个yes,否则会输出no,我这里显示已经打开了,我们按ctrl+c来中断当前界面,调出命令行,输入指令:lsof -i :9000

  结果让我们大失所望,这个端口显示我们什么服务也没有启动,这是为什么呢,其实在我按ctrl+c中断的时候,日志输出就给出了答案,让我们详细来看看:

  我发现,在我按下中断快捷键之后,红色剪头指向的部分出现了几个shutdown,在最后又输出了一个:Redis正在准备退出,拜拜...还挺有礼貌,之后我的命令行输入位置就出现了,我在此之后才输入的端口查看指令。这是为什么呢?这是因为刚才的启动方式,是Redis的显式启动方式,用上边那种启动方式启动的Redis,是以显式的形式运行的,在这种模式运行下,只要输入一个中断指令然后去干别的,Redis就会直接关闭。进程的这种模式也被称为非守护进程,在初学期间我们可以理解为:不能后台运行的进程,实际生活中我们见到的这种进程实际上不多,大部分常见电脑软件基本上都可以后台运行,如果不是,那我们在听音乐的时候如果想和别人聊天,便点出聊天软件的话,便不能听音乐了,这实在不是一件愉快的事情。与非守护进程相对应的是守护进程,守护进程基本上可以理解为:可以后台运行的进程,我们在使用Redis的时候当然是还想让这个服务器干别的,因为它仅仅是一个服务而已,我们很少直接在本地操作它,因此我们在启动的时候,应该注意使用守护进程的方式对其进行启动,如何以守护进程的方式启动它呢,具体有两种方式:1.使用&符号提示程序;2.修改配置文件中的daemonize项,我们逐一尝试:

  首先我们来试试&符号,具体使用方式为,在启动脚本的紧后边加上一个&: ./redis-server& ../redis.conf

  启动后我们继续中断一次:

  我们惊喜的发现,在中断之后并没有刚才那种提示关闭的信息,接下来我们使用lsof -i 9000测试端口:

  还是没有,这是为什么?我们再看看上边的启动界面图会发现,使用这种方式启动的Redis的端口竟然不是9000,而是6379,我们的配置失效了。我们现在测试6379端口:

  发现进程果然在这里,我们先使用指令关闭这个进程,关闭进程的指令为./redis-cli -h 127.0.0.1 -p 6379 shutdown,关闭后它会显示和刚才强制中断时一样的信息,我还注意到了Redis的硬盘保存日志,这实际上反应出了Redis的持久化机制:

  不管怎么说我们已经关闭了进程,接下来继续研究其守护线程模式,我们既想让它以守护线程的模式运行,又不想让它在6379端口运行,这应该怎么办呢?我们只能使用第二个方法,那就是修改配置文件的daemonize项,我们使用vim编辑器打开配置文件,进行如图的修改,我们将daemonize项改为yes即可:

  进行这样的修改之后,使用指令./redis-server ../redis.conf就能直接以守护进程模式启动Redis的后台服务,并且不进行上面那种界面显示,同时是按照我们的配置文件的端口运行,而不是使用默认端口,如图:

  至此,Redis安装完毕。对于守护进程,守护线程,以及Redis的具体用法这里暂时先不做介绍。

4.安装Zookeeper

4.1.下载或上传Zookeeper安装包

  使用wget或者直接上传的方式都可以获取zookeeper安装包,这里我们选择上传的方式,关于下载方式前边也讲了不少,因此这里我们直接上传zookeeper安装包,我们在自己已知的目录下,创建zookeeper的安装目录,这个路径地址任意,只要能记住在哪就行,这里我在local目录下创建zookeeper目录,和Redis同级,创建好后进入其中,上传zookeeper:

  如图,我已经上传好了:

  之后我们解压这个包,解压完之后进入这个目录:

4.2.创建data目录

  我们创建一个data目录,存放zookeeper运行中产生的数据,创建好后进入data,获取data目录的地址,在之后配置路径的时候很有用:

4.3.编辑配置文件

  我们先进入到zookeeper的配置文件目录conf中去:

  之后我们将其复制一份,以确保有备份,我们使用cp zoo_sample.cfg zoo.cfg,将原来的配置文件复制一份新的出来:

  之后我们进入到这个配置文件中去编辑它,在此我们需要编辑的配置项为datadir,也就是数据目录的意思,这里原本是zookeeper默认的数据目录,我们将这里的值修改为我们之前自己新建的那个data目录,因为之前我已经赋值了其路径,这里直接粘贴即可,修改完之后就可以退出了:

  之后我们就可以启动zookeeper了,我们退出到zookeeper的安装目录下,并进入到bin中,bin中有其启动的脚本,我们输入./zkServer.sh start ../conf/zoo.cfg指令启动这个脚本,这个指令的意思是执行启动脚本,并按照conf目录下的zoo.cfg配置文件中指定的模式执行:

  首先日志输出中出现了成功运行的提示,之后我们使用lsof -i :2181查看其端口进程情况,也发现了进程的存在,说明zookeeper启动成功。至此,zookeeper安装结束。

腾讯云服务器CentOS 7.6安装基本中间件的更多相关文章

  1. 腾讯云服务器centos通过yum安装mysql数据库

    安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...

  2. 腾讯云服务器手动和自动安装WordPress网站程序

    如果我们需要建站的话,对于基础个人网站.博客建站选择基础的1Mbps带宽配置的1GB内存的腾讯云服务器还是够用的,且如果我们需要用来建网站的话可以手工添加程序,以及有些面板,比如宝塔面板是自带CMS程 ...

  3. 腾讯云服务器centos 6.5(jdk+tomcat+vsftp)、腾讯mysql数据库 及 tomcat自启动 配置教程

    1.腾讯云数据库配置 1.考虑到安全性问题,,平常不使用root用户登录,新增一个用户名neil,用来管理项目的数据库 a.首先登录root创建db_AA数据库 b.在root用户下,创建neil用户 ...

  4. 腾讯云服务器CentOS 7防火墙firewalld管理

    在腾讯云上买了个服务器(centOS7),部署了Tomcat(8080),Apache(80),MySQL(3306)等,一开始按照百度教程配置是把防火墙关闭了的.最近一段时间服务器总是莫名的被人修改 ...

  5. 记一次腾讯云服务器centos linux可视化桌面安装并进行远程桌面登录及其安装中文包

    开始前请确保你有能上网的主机两部(一个是CentOS7系统,一个是Windows10系统)1.用SSH root用户登录Centos主机:2.检查你的centos是否装了epel库 执行命令:rpm ...

  6. 阿里云服务器Centos上Apache安装SSL证书配置Https

    首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...

  7. 阿里云 云服务器 CentOS 5.8 安装 php 5.4

    1.安装php http://webtatic.com/packages/php54/ 2.安装mysql http://webtatic.com/packages/mysql55/ 3.修改mysq ...

  8. 使用腾讯云服务器CentOS搭建JavaWeb环境

    yum list java* yum install java-1.7.0-openjdk* -y java -version cd /usr/local wget https://mc.qcloud ...

  9. 腾讯云服务器 安装fastdfs文件服务器

    上篇安装完nginx后,那么这次咱们就来安装fastdfs文件服务器,为何要使用文件服务器,这里不多说了,以前的文章有写过 首先用ftp工具把fastdfs的相关文件上传至腾讯云,如下 首先,安装基本 ...

  10. 阿里云服务器centos下安装配置svn服务器

      阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion      从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...

随机推荐

  1. 1、在SrpingBoot的环境当中使用JSP及相关功能

    创建webapp目录 由于SpringBoot项目不建议直接访问jsp页面,但是我现在要做的事情需要去访问,那么我就需要在原有的项目基础上为访问jsp页面进行一个调整 首先在项目当中,java和res ...

  2. Codeforces Round #829 (Div. 2) A-E

    比赛链接 A 题解 知识点:枚举. 只要一个Q后面有一个A对应即可,从后往前遍历,记录A的数量,遇到Q则数量减一,如果某次Q计数为0则NO. 时间复杂度 \(O(n)\) 空间复杂度 \(O(1)\) ...

  3. webgl(three.js)3D光伏,3D太阳能能源,3D智慧光伏、光伏发电、清洁能源三维可视化解决方案——第十六课

    序: 能源是文明和发展的重要保障,人类命运不可避开的话题,无论是战争还是发展,都有它存在的身影.从石器时代到现代文明,人类的能源应用在进步,也在面临能源枯竭的危机与恐惧,而开发与应用可再生能源才是解决 ...

  4. Java多线程(6):锁与AQS(下)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前说过,AQS(抽象队列同步器)是Java锁机制的底层实现.既然它这么优秀,是骡子是马,就拉出来溜溜吧. 首先用重入锁来实现简单的累加,就像这 ...

  5. Pthread 并发编程(一)——深入剖析线程基本元素和状态

    Pthread 并发编程(一)--深入剖析线程基本元素和状态 前言 在本篇文章当中讲主要给大家介绍 pthread 并发编程当中关于线程的基础概念,并且深入剖析进程的相关属性和设置,以及线程在内存当中 ...

  6. jQuery+bootstrap实现有省略号的数据分页

    1.前言 在前端通过ajax请求数据后,可以通过bootstrap实现分页.由于bootstrap只提供分页的按钮的样式.数据分页我们需要实现页码跳转,上一页下一页,数据过多显示省略号,点击省略号能快 ...

  7. 【题解】UVA10228 A Star not a Tree?

    题面传送门 解决思路 本题数据范围较小,可以使用模拟退火算法(随机化). 顾名思义,模拟退火就是一个类似于降温的过程.先设置一个较大的初温,每次随机改变状态,若使答案更优,则采取更优答案,否则根据其与 ...

  8. 交叉编译GDB

    PC主机安装必要软件 sudo apt-get install bison flex expect-dev build-essential m4 autoconf automake texi2html ...

  9. C温故补缺(二):volatile

    volatile 参考:CSDN volatile也是一个类型修饰符,被其修饰的变量意味着可以被某些编译器未知的因素修改,如操作系统,硬件,线程等. 当遇到volatile修饰的变量时,编译器对访问该 ...

  10. 前端学习 linux —— 软件安装(Ubuntu)

    软件安装(Ubuntu) 本篇主要讲解 ubuntu 中软件的安装.apt 的源.内网部署案例(graylog 为例),最后是 python 开发准备. apt 和 rpm 在linux 第一篇我们知 ...