腾讯云服务器CentOS 7.6安装基本中间件
腾讯云服务器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.0
,0.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安装基本中间件的更多相关文章
- 腾讯云服务器centos通过yum安装mysql数据库
安装mysql有两种: 1-可以使用yum安装, 2-可以自己下载安装包安装mysql, 腾讯云的centos系统自带了yum,所以用yum安装方便点 安装步骤 1-查看yum源中是否有mysql y ...
- 腾讯云服务器手动和自动安装WordPress网站程序
如果我们需要建站的话,对于基础个人网站.博客建站选择基础的1Mbps带宽配置的1GB内存的腾讯云服务器还是够用的,且如果我们需要用来建网站的话可以手工添加程序,以及有些面板,比如宝塔面板是自带CMS程 ...
- 腾讯云服务器centos 6.5(jdk+tomcat+vsftp)、腾讯mysql数据库 及 tomcat自启动 配置教程
1.腾讯云数据库配置 1.考虑到安全性问题,,平常不使用root用户登录,新增一个用户名neil,用来管理项目的数据库 a.首先登录root创建db_AA数据库 b.在root用户下,创建neil用户 ...
- 腾讯云服务器CentOS 7防火墙firewalld管理
在腾讯云上买了个服务器(centOS7),部署了Tomcat(8080),Apache(80),MySQL(3306)等,一开始按照百度教程配置是把防火墙关闭了的.最近一段时间服务器总是莫名的被人修改 ...
- 记一次腾讯云服务器centos linux可视化桌面安装并进行远程桌面登录及其安装中文包
开始前请确保你有能上网的主机两部(一个是CentOS7系统,一个是Windows10系统)1.用SSH root用户登录Centos主机:2.检查你的centos是否装了epel库 执行命令:rpm ...
- 阿里云服务器Centos上Apache安装SSL证书配置Https
首先我们先去阿里云申请一个免费的SSL证书(https://common-buy.aliyun.com/?spm=5176.7968328.1266638..5e971232BzMSp5&co ...
- 阿里云 云服务器 CentOS 5.8 安装 php 5.4
1.安装php http://webtatic.com/packages/php54/ 2.安装mysql http://webtatic.com/packages/mysql55/ 3.修改mysq ...
- 使用腾讯云服务器CentOS搭建JavaWeb环境
yum list java* yum install java-1.7.0-openjdk* -y java -version cd /usr/local wget https://mc.qcloud ...
- 腾讯云服务器 安装fastdfs文件服务器
上篇安装完nginx后,那么这次咱们就来安装fastdfs文件服务器,为何要使用文件服务器,这里不多说了,以前的文章有写过 首先用ftp工具把fastdfs的相关文件上传至腾讯云,如下 首先,安装基本 ...
- 阿里云服务器centos下安装配置svn服务器
阿里云服务器centos下安装配置svn服务器 1.安装svn服务器端yum install subversion 从镜像下载安装svn服务器端中间会提示是否ok,输入y,确认安装成功提 ...
随机推荐
- 开源数字基础设施 项目 -- Speckle
[Speckle](https://speckle.systems/)是用于 3D 设计的任何东西的开源数字基础设施.处理软件孤岛.实时协作.数据管理.版本控制和自动化之间的互操作性.致力于构建一个开 ...
- 都卷Java,你看看你得学多少技术栈才能工作!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言:授业解惑 我知道,你不知道的还有很多! 你了解计算机要从哪里开始学习吗?你清楚为了能 ...
- OpenAPI 接口幂等实现
OpenAPI 接口幂等实现 1.幂等性是啥? 进行一次接口调用与进行多次相同的接口调用都能得到与预期相符的结果. 通俗的讲,创建资源或更新资源的操作在多次调用后只生效一次. 2.什么情况会需要保证幂 ...
- 《吐血整理》高级系列教程-吃透Fiddler抓包教程(30)-Fiddler如何抓取Android7.0以上的Https包-番外篇
1.简介 通过宏哥前边几篇文章的讲解和介绍想必大家都知道android7.0以上,有android的机制不在信任用户证书,导致https协议无法抓包.除非把证书装在系统信任的证书里,此时手机需要roo ...
- JDK8下载安装及环境配置
Java基础知识 Java的三种版本 JavaSE :标准版,主要用于开发桌面程序,控制台开发等等 JavaME:嵌入式开发,主要用于开发手机,小家电等等,目前使用的比较少 JavaEE:企业级开发, ...
- TCP 序列号和确认号是如何变化的?
大家好,我是小林. 在网站上回答了很多人的问题,我发现很多人对 TCP 序列号和确认号的变化都是懵懵懂懂的,只知道三次握手和四次挥手过程中,ACK 报文中确认号要 +1,然后数据传输中 TCP 序列号 ...
- UEC 利用代理/委托写一个生命组件
首先基于ActorComponent创建一个组件 HealthComponent,将需要的变量与函数创建 #include "CoreMinimal.h" #include &qu ...
- Python基础之函数:3、多层语法糖、装饰器和装饰器修复技术及递归函数
目录 一.多层语法糖 1.什么是多层语法糖: 2.多层语法糖用法: 二.有参装饰器 1.什么是有参装饰器: 2.有参装饰器的作用: 三.装饰器修复技术 1.什么是装饰器修复技术: 四.递归函数 1.什 ...
- Java函数式编程:三、流与函数式编程
本文是Java函数式编程的最后一篇,承接上文: Java函数式编程:一.函数式接口,lambda表达式和方法引用 Java函数式编程:二.高阶函数,闭包,函数组合以及柯里化 前面都是概念和铺垫,主要讲 ...
- Go语言核心36讲43-----io包中接口的好处与优势
上一篇文章中,我主要讲到了io.Reader的扩展接口和实现类型.当然,io代码包中的核心接口不止io.Reader一个. 我们基于它引出的一条主线,只是io包类型体系中的一部分.我们很有必要再从另一 ...