CentOS8软件安装总教程一

在我看来

她仿佛代言了这整个世界的秘密

              -----《言叶之庭》

目录

防火墙 

JDK安装教程

Tomcat安装

Nginx安装

Redis安装

伪分布式集群 

Redis测试实验

Redis连接RedisDesktopManage可视化工具


基础命令:centos8安装好后进入,使用xshell远程连接上去。

进去执行命令yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y

执行rz上传本地文件,如果无法打开窗口,直接执行:sudo yum install -y lrzsz即可.

执行make编译C语音代码找不到命令,gcc没装好的原因:yum install gcc automake autoconf libtool make

安装vim,yum install vim

删除文件夹:rm -rf …,新建文件夹:mkdir …  ,

三种查看进程的方法

ps -ef|grep activemq|grep -v grep,netstat -anp|grep 61616,lsof -i:61616

复制文件并重命名:cp activemq.xml activemq.xml.bk

重命名:mv zookeeper-3.4.14 zookeeper

创建文件:touch zk_batch.sh

防火墙 

查看状态:systemctl status firewalld.service

打开防火墙:systemctl start firewalld.service

关闭防火墙:systemctl stop firewalld.service

开启防火墙:systemctl enable firewalld.service

禁用防火墙:systemctl disable firewalld.service

加端口:firewall-cmd --permanent --zone=public --add-port=8080/tcp

成功添加端口号,然后必须重启防火墙或者虚拟机

firewall-cmd --reload

然后查看是否生效:firewall-cmd --zone=public --query-port=8080/tcp

JDK安装教程

1.到官网下载一个tar.gz的包,例如jdk-8u161-linux-x64.tar.gz。

2.使用rz命令或者ftp直接复制到/usr/local目录下,如图

接着进行解压缩,执行命令:tar -zxvf jdk-8u161-linux-x64.tar.gz,如图解压完毕

 

改个名字,mv jdk1.8.0_161/ jdk1.8,如图

3.配置环境变量,vim /etc/profile,配置好:

#jdk环境

export JAVA_HOME=/usr/local/jdk1.8

export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

其中java_home为jdk安装目录,即

 4.重新加载配置文件:source /etc/profile

5.然后javac -version,java -version保证两个版本一致 

Tomcat安装

1.压缩包上传至服务器,如

解压缩:tar -zxvf apache-tomcat-9.0.35.tar.gz,解压成功

 

2.接着让防火墙开启8080端口:firewall-cmd --permanent --zone=public --add-port=8080/tcp

查看是否生效:firewall-cmd --zone=public --query-port=8080/tcp

然后重启防火墙:firewall-cmd --reload

3.进入tomcat的bin目录里:./startup.sh,

4.然后ps -ef | grep tomcat,发现线程已经启动了,到浏览器ip+8080如图成功。

 

如果发现浏览器无法访问先./shutdown.sh在./startup.sh试试。 

Nginx安装

1.将压缩包上传至服务器,如图

解压:tar -zxvf nginx-1.18.0.tar.gz,如图成功。 

2.进入nginx目录,如图:

执行:./configure --prefix=/usr/local/nginx,即配置nginx并将文件放置到/usr/local/nginx目录内。

如图成功,但此时nginx目录仍看不到,还需make,make install

 

 接着执行:make

 

然后make install,然后看下nginx目录有了。 

3.启动nginx有两种,一种进入nginx的sbin里,执行./nginx即可

另一宗:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

然后ps -ef | grep nginx,如图成功 

Nginx体系结构有master进程和其worker进程组成,master进程读取配置文件,并维护worker进程,而worker进程则对请求进行实际处理;

检查nginx配置是否正确:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -t

浏览器如果仍无法访问看看防火墙是否已开启80端口。 

4.两种方式:优雅关闭:  kill -QUIT 主pid(当一个请求已经在执行时不会受到影响,但此时已经关闭了,仍会让你把那个请求完成掉)   

 快速关闭:kill -term 主pid (不管有没有请求,都关闭掉,最后一个请求会中断不可进行)。

当nginx已经启动想要重启时,到sbin下执行  ./nginx -s reload即可。

Redis安装

压缩包上传至服务器并tar -xvf redis-5.0.5.tar.gz解压。

如图解压成功 

2.进入redis,执行make install 

这个过程是先编译再安装的过程,时间稍长。

如图安装成功

进入src目录启动redis-server启动redis.

如图启动成功,注意默认端口如图为6379,需要在防火墙开启这个端口并重启防火墙。

这里启动了以后,这个控制台就没法用了,需要例外开启一个控制台。

进入src,执行:redis-cli,如图即可使用

 

伪分布式集群 

 

步骤:

1.与redis同目录下创建一个文件夹redis-cluster,mkdir redis-cluster,然后进入分别创建8001-8006个文件夹。

防火墙开这6个端口:

如图 

 

 2. cp redis-5.0.5/redis.conf redis-cluster/8001 将redis.conf复制到8001里并修改配置,

通过命令  /搜索内容,不要先点insert,去找配置的地方

1)/port  改  8001 

2)/bind  改  虚拟机的ip地址,不是本地电脑的IP

记得将下面的127.0.0.1注释掉,否则会默认为下面的端口,不会用你配置的端口。

3)/dir+空格 改为  dir /usr/local/redis-cluster/8001

4)/cluster-e改yes,指的是启动集群模式

 

5)/cluster-conf

6)设置集群超时时间,比如redis搞了6个实例,其中一个实例挂了,并且超过了此处5s时间则该集群会被踢出去,

7)no 改为yes,表示日志模式开启了。

8)daemonize yes表示后台开启。

至此,一个改好了,另外5个实例同上搭建,但只需复制进去并批量改下端口号即可。

9)例如:进入8001文件夹,cp redis.conf ../8002,依次复制下去。

然后进入8002文件夹修改端口号:

:%s/源字符串/目的字符串/g

 

10)依次修改完,依次启动redis服务器,

/usr/local/redis/bin/redis-server /usr/local/redis-cluster/8002/redis.conf

 

11)由于redis集群需要使用ruby命令,所以我们需要安装ruby,因为它的集群模式就是用ruby脚本实现的。

      ①  yum install ruby

 

②  yum install rubygems

③安装redis和ruby的接口,版本与安装redis一致。如果报错,那就换个版本,例如改版本为4.2.0

   gem install redis --version 5.0.5 

 

在redis的src目录下有个redis-trib.rb就是ruby的原生脚本。

最后一步最关键的命令,启动集群,进入原生redis的src目录下命令:

Redis脚本有个规定,前面8001-3三台就是主服务器,后面三台就是从,1是指主/从比。如果三主6从,则是0.5。主节点第一台8001对应从节点第一台8004,这也是规定。

启动集群。

./redis-cli --cluster create 192.168.1.200:8001 192.168.1.200:8002 192.168.1.200:8003 192.168.1.200:8004 192.168.1.200:8005 192.168.1.200:8006 --cluster-replicas 1

如果报拒绝连接,看看防火墙是否开启了端口或者虚拟机网络看看。如图成功启动集群。 

 

然后输入yes

连接某一台集群看看

/usr/local/redis/bin/redis-cli -c -h 192.168.1.200 -p 8001, 查看集群状态:cluster info,详尽信息:cluster nodes

 

内部会做重定向算法,类似于负载均衡。于是name只会保存在8002里。以后用到name会专门重定向到8002里取值。

一主一从唯一的标识。

Redis测试实验

package com.example.demo.java;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.util.HashSet;
import java.util.Set;

/**
 * @author yangss
 * @time 2020/6/13 - 14:12
 */
public class RedisCluster {
    public static void main(String[] args) throws IOException {
        Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8001));
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8002));
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8003));
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8004));
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8005));
        jedisClusterNode.add(new HostAndPort("192.168.1.200",8006));

        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(100);
        config.setMaxIdle(10);
        config.setTestOnBorrow(true);
        JedisCluster jedisCluster = new JedisCluster(jedisClusterNode, 6000,10,config);
        System.out.println(jedisCluster.set("student","arron"));
        System.out.println(jedisCluster.set("age","18"));
        System.out.println(jedisCluster.get("student"));
        System.out.println(jedisCluster.get("age"));
        jedisCluster.close();
    }
}

后台进入一个8001端口,然后获取get student成功

演示主从切换

例如关掉主节点8001:/usr/local/redis/bin/redis-cli -c -h 192.168.1.200 -p 8001 shutdown,然后ps看下进程关闭成功,目前只剩5台服务器。

进入8002查看cluster nodes状态如下,显示为fail,然后发现8005变成了主,这个有点疑惑为何不是8004。

Redis内部集群数据是分来存储的,如果数据在第一台,那么访问第三台则会自动重定向到第一台。

如上图目前的三台主服务器后的0-5460,5461-10922,10923-16383代表的是存储空间,互相之间的数据没有关系。

Redis集群水平扩展是很复杂的一件事,zookeeper比较方便,自动扩展。Redis底层的分片通讯原理,分片原理这些bat最喜欢问,准备下。

Redis连接RedisDesktopManage可视化工具

 需要设置密码才能连接成功。使用远程工具连接前先杀掉所有redis进程,然后

 修改redis文件夹下redis.conf文件,在bind 127.0.0.1行前面加#注释掉这一行

 

config set requirepass 123

然后连接成功

 

 二篇继续

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值