个人血泪史:linux下安装软件(一)


是否部署到阿里云?

CentOS:8.0
CRT:6

如果linux系统是属于阿里云服务器的话;在安装下面的软件的时候;还有一系列的设置。。。。坑的要死。。。

1.添加安全组

首先需要在阿里云官网添加安全组,如下:
在这里插入图片描述
然后在实例的右边:

在这里插入图片描述之后点击添加:
在这里插入图片描述
之后选择:
在这里插入图片描述
添加之后如下:
在这里插入图片描述
这样安全组就添加成功了

感谢:
阿里云ECS云服务器(linux系统)安装mysql后远程连接不了,巨坑。。。。

2.防火墙设置及有关知识

iptables

iptables命令可以根据流量的源地址、目的地址、传输协议、服务类型等信息进行匹配,一旦匹配成功,iptables就会根据策略规则所预设的动作来处理这些流量。
另外,再次提醒一下,防火墙策略规则的匹配顺序是从上至下的,因此要把较为严格、优先级较高的策略规则放到前面,以免发生错误

在这里插入图片描述

根据数据包处理位置的不同,分为如下:

在进行路由选择前处理数据包(PREROUTING);
处理流入的数据包(INPUT);
处理流出的数据包(OUTPUT);
处理转发的数据包(FORWARD);
在进行路由选择后处理数据包(POSTROUTING)。

作为服务器而言,需要配置的是流入的数据,也就是INPUT的处理;对于处理位置的限制,分为如下几条:

ACCEPT(允许流量通过)、
REJECT(拒绝流量通过)、
LOG(记录日志信息)、
DROP(拒绝流量通过)

这里需要注意reject和drop的不同,这两个都是拒绝流量的通过;
reject会明确响应信息为拒绝访问,而drop是将流量丢弃但是没有响应;

firewall

相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

在这里插入图片描述
参考:第8章 Iptables与Firewalld防火墙


踩坑基础知识

以下是自己亲自踩坑,外加参考许多博客踩出来的。。。都是血和泪。。。



第一点:
在CentOS中不同版本的防火墙是不一样的!!!
7.0以上默认使用的是firewall,7.0以下默认使用的是iptables;而我恰好使用了两种版本蹦跶。。。。坑死人。。。
并且,在7.0以上的系统中,默认是没有iptables的,也就是说需要下载!!!所以即使设置了端口也无效。。。。。

7.0以上下载iptables参考博文:
Linux——CentOS7安装iptables防火墙



第二点:
两个防火墙,不能全都要。。。只能任选其一。。。要么选择firewall要么选择iptables;



第三点:
这个两者的区别,请参考下面几篇博文:

Linux中的火墙:firewall和iptables

防火墙(firewalld与iptables)

iptables详解

firewall详解

iptables和firewalled的区别



第四点:
iptables和firewall的常用命令:

1:查看防火墙状态

systemctl status firewalld
service iptables status

2:暂时关闭防火墙

systemctl stop firewalld
service iptables stop

3:永久关闭防火墙

systemctl disable firewalld
chkconfig iptables off

4:重启防火墙

firewall-cmd --reload
service iptables restart

5:启动防火墙

sudo systemctl start firewalld
service iptables start

6.设置开机自启

systemctl enable firewalld
chkconfig iptables on

7.添加端口

添加80端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

8.查看端口

firewall-cmd --list-ports
iptables -L -n

9.删除端口

firewall-cmd --zone=public --remove-port=8080/tcp --permanent
iptables -D INPUT -p tcp --dport 8080 -j ACCEPT

注意,这里iptables的删除要是精确匹配删除,
那么就必须指定该链的所有详细信息,否则删除失败。。。

也可以使用行号删除,那么就要使用
iptables  -L -n --line-numbers,先查看显示出的行号,
再进行删除: iptables -D INPUT 行号 

10.添加范围端口

iptables -A INPUT -s 192.168.75.132 -p tcp --dport 1000:60000 -j ACCEPT
firewall-cmd --permanent --zone=public --add-port=1000-60000/tcp

11.添加对指定ip地址允许端口的访问

iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.3" port protocol="tcp" port="22" accept"

12.添加对指定ip段允许端口访问

iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"

参考博文:
Linux关闭防火墙并设置开机启动/不启动

Linux防火墙Firewall和Iptables的使用

Linux防火墙firewall只允许特定ip访问

3.设置防火墙

一开始还以为只需要添加安全组就好了。。实际上还要设置防火墙。。。

远程连接好阿里linux服务器之后,查看所有的防火墙:

firewall-cmd --list-all

在这里插入图片描述

之后就是添加端口,比如前面我设置的3306端口,添加:

firewall-cmd --zone=public --add-port=3306/tcp --permanent

说明:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议 –permanent 永久生效,没有此参数重启后失效

添加成功返回success,如下:

在这里插入图片描述然后重新启动,使用:

firewall-cmd --reload

重启后,查看是否已经添加到了防火墙中,如下:
在这里插入图片描述很明显的看到已经添加到了防火墙中,这样就成功了~~

感谢:

阿里云添加的安全组端口以及添加后无法访问问题排查

解决阿里云服务器tcp/udp/web等服务器公网ip访问不了的问题

CentOS 7系统的云服务器ECS实例如何配置默认防火墙Firewall


番外

对于安装软件的防火墙设置;我们要验证其是否设置成功,即每一次我们都需要在对应的安装软件上使用远程客户端进行访问对应的端口;判断是否能够访问,这样稍微麻烦些。。。。

可以使用telnet的一个命令,在自己的window的DOS窗口上,使用以下命令,判断是否能够访问linux服务器的端口:

telnet ip 端口

比如以下访问redis的端口:

telnet 192.168.18.11 6379

访问之后就是一片漆黑有个光标,可以输入命令。。。那么就是访问成功的~失败会提示。。。要退出的话,需要按crtl+[,然后再输入q,回车。

不过注意了


第一点:
在win上默认是没有安装tnlent服务,需要安装对tnlent的服务,安装请参考
百度百科:telnet不是内部或外部命令,也不是可运行的程序



第二点:
telnet是属于tcp/ip协议的一种,所以其也有默认的端口,其端口是23,如果telnet访问端口没有写端口名的话,那么默认就是访问其本身的端口;



第三点:
如果是使用telnet访问在阿里linux服务器中的端口的话,linux需要开telnet启安全组(端口23),访问本身也需要开启防火墙中的端口,并且在linux中需要安装telnet。。。

关于tnlent的知识,请参考:
telnet 命令使用方法详解,telnet命令怎么用?

百度百科Telnet

感谢:
Redis Desktop Manager连接Redis的坑


前言

如果有帮助,不求关注。。
帅哥美女点个赞好嘛!!!
肝了三四天!码字不易!!!
转载注明出处,谢谢!!!!

版本

CentOS:6.7
vm:12.0
CRT:6

安装前的策略

安装前,首先要明确的两点是:
第一点是软件的安装目录?
第二点是安装软件的操作系统是多少位数?

第一点:

其目录结构如下:
在这里插入图片描述所以我是打算安装到/usr这个目录下的,查看usr目录如下:

在这里插入图片描述这个local目录是一个用户级别的目录

/usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。

引用来源:
Linux 软件安装到哪里合适,目录详解

因而言,自己准备安装到/usr/local

第二点:

得晓得自己的linux操作系统是多少位数的,安装包就好下载;
查看命令如下:
在这里插入图片描述显示32,说明是32位数的;

除此之外,还可以使用如下命令:

在这里插入图片描述
后面显示i686则为:32位的
显示_64的为:64位的

版本号

各个版本的含义:
Alpha:内部测试版
Beta:外部测试版
Build:内部标号
Corporation或Enterprise企业版
Delux:豪华版
DEMO演示版,一般会有功能限制
Free:免费版
Full:完全版
Final:正式版
Pro(professional):专业版
Plus:加强版
Retail:零售版
Release发行版,有时间限制
Shareware共享版,虽然不会要求注册但是一般也有功能限制
SR:修正版
Trial:试用版(一般有时间或者功能限制)

顺带标记一下,查看版本发行号的方法:
在这里插入图片描述

安装jdk

使用社区版本

在Linux中利用yum安装JDK的实现步骤

Linux实战—CentOS7下yum方式安装JDK1.8并配置环境变量

注意:
当我们安装好之后,使用java -version命令有效,但是使用javac命令无效的话,需要安装对应版本的开发包。如下:
Linux openJDK执行javac编译java文件提示command not found

使用安装包版本

安装之前,先创建放压缩包的目录:
mkdir /usr/local/jdk

然后在local目录下,可以查看到jdk这个目录,如下:
在这里插入图片描述

jdk的下载这里就不赘述了,下载好之后的上传到linux服务器,一般上传后在/root这个目录下,要将其移动到自己创建的jdk目录下;

mv jdk-7u71-linux-i586.tar.gz /usr/local/jdk

这样在jdk目录下就有了,这里是浅蓝色的是解压好的目录如下:
在这里插入图片描述接下来就是安装了,但是安装之前要查看自己到底有没有安装其他的jdk;
查看安装的jdk版本
在这里插入图片描述
查看安装的jdk如下:
rpm -qa | grep java

在这里插入图片描述这里显示有三个jdk,两个开源jdk,一个官方的jdk;

卸载他们:
使用命令:

rpm -e --nodeps 要卸载的软件包名
在这里插入图片描述


番外

rpm命令是Red-Hat Package Manager(RPM软件包管理器)的缩写;

-e/–erase : 卸载的意思
–nodeps:强制卸载,无论软件包是否有依赖关系


卸载完之后,才是解压这个压缩包;
注意要在当前的目录下,比如这里的话是在jdk的目录下,如下:

在这里插入图片描述解压成功之后,就可以看到在当前目录下的目录文件,如下:
在这里插入图片描述到这步之后就可以进行配置环境变量了;

进入配置文件
vim /etc/profile
在这里插入图片描述
注意下拉到最后,在空格处按Esc键,再按i进入插入模式,配置如下:

#set java environment
JAVA_HOME=/usr/local/jdk/jdk1.7.0_71  解压文件的目录名
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

在这里插入图片描述
之后按Esc键之后,再按 :wq 键
这样就实现了修改,要让修改的配置有效果,还要使用如下命令:

source /etc/profile

之后在验证是否生效,输入 javac


注意

当我们配置好就jdk的环境变量的时候,可能会出现输入所有的命令都失效的情况。。。。。每次输入命令,会报以下错误:

-bash: open: command not found

我就遇到好几次。。。

需要重新再导入一次环境变量;这样就可以了,输入以下语句

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

回车就可以了;

如果还是无法解决问题的话。。。。再尝试修改系统配置文件;

以使用绝对命令vi打开profile

 /bin/vi  /etc/profile

在系统的配置文件里添加环境变量地址

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

感谢博主提供解决方法:
linux突然所有命令都失效了,显示bash: xxxxx: command not found…

安装mysql

环境变量的配置

无论是哪一种类型的包,配置环境变量,有三个地方可以配置:

a.临时设置:
直接在控制台输出:

export PATH=$PATH:/usr/local/mysql/bin
或者
export PATH=/usr/local/mysql/bin:$PATH

注意:这个/usr/local/mysql/bin是压缩包解压后目录中的bin
注意:一旦退出当前的 shell ,就失效。

b.永久有效
修改 /etc/profile,在最后面添加:

export PATH=$PATH:/usr/local/mysql/bin
或者
export PATH=/usr/local/mysql/bin:$PATH

需要注意的是:修改完这个文件必须要使用 以下命令在不用重启系统的情况下使修改的内容生效

[root@ www.linuxidc.com ~]# source /etc/profile

或者是:

[root@ www.linuxidc.com ~]# . /etc/profile

[root@ www.linuxidc.com ~]# echo $PATH

注意:永久有效


c.对于某个用户有效
修改某个用户的 .bashrc 文件,例如vi /root/.bashrc,在最后面添加:

export PATH=$PATH:/usr/local/mysql/bin
或者
export PATH=/usr/local/mysql/bin:$PATH

修改这个文件之后同样也需要使用 source 或者是 . 使配置文件生效

注意:对于某个用户来说永久有效


除此之外,
b和c可以使用输出echo $PATH看下变量是否生效,如下:

在这里插入图片描述感谢:
linux下mysql的安装以及环境变量的配置

上传的是.gz包

上传这个包的详细内容,请参考:
linux centos7.6 安装mysql5.5.62 详细图文安装学习记录

在上面的博文中有个地方需要注意,就是如下这步:
在这里插入图片描述这里指定之后无效,需要自己在/etc/my.cnf中添加数据和基本的路径,如下:
在这里插入图片描述

参考:Linux安装mysql启动报错误 my_print_defaults: command not found

还可参考:Linux Centos7虚拟机安装并配置mysql5.5教程

上传的是.tar包

上传到服务器,这些不赘述了;上传后移动到/usr/local/mysql目录下;然后查看如下:
在这里插入图片描述之后就是查看当前linux系统中有没安装mysql;
查看如下:
在这里插入图片描述
卸载之,如下:

在这里插入图片描述
如图所示,没有看到显示有安装的msyql就可以了;

之后就是安装mysql;

先在mysql文件夹下,解压这个文件;注意这个文件是.tar后缀的文件,说明不是压缩包,只是打包的文件;
在这里插入图片描述
所以解压命令就不需要加z字母
如下:
在这里插入图片描述

解压好之后,就要安装了;不像jdk;mysql分为客户端和服务端;
先安装服务端,如下:
在这里插入图片描述
安装完之后,有一句话要注意:

A RANDOM PASSWORD HAS BEEN SET FOR THE MySQL root USER !
You will find that password in ‘/root/.mysql_secret’.

在这里插入图片描述

意思是有一个随机密码已经被设置了;并且在第一次连接的时候,必须改变其随机密码,除了修改set password语句其它的语句都不会被接受;所以。。
还得在
‘/root/.mysql_secret’.
这个目录下找到密码并且修改;
先找到这个密码,如下:
在这里插入图片描述修改等会,把客户端给安装才,执行如下:

在这里插入图片描述

安装好之后,先启动mysql服务,并且登录;如下:
在这里插入图片描述注意,这里可能忘记之前root随机生成的密码了,使用,那么输入:mysql -uroot -p
直接点击回车,就变成如下这样,也是登录了:
在这里插入图片描述


番外

linuxmysql忘记密码咋办和设置远程登录


登录之后就是修改密码,如下:
在这里插入图片描述
之后退出重新登录,如下:
在这里插入图片描述
这样就安装成功了!!

但是远远还没有结束。。。。。

远程访问

我们一般都是在mysql的客户端软件进行操作的,所以需要让安装到linux中的mysql具备能够让我们远程访问的能力;

要想实现远程访问的话,首先得明确访问的端口没有被防火墙拦截;
跟防火墙相关的话,就要涉及到iptables命令,所以需要验证该命令是否安装,以及状态。。。。。。这里就不赘述了,推荐博客:

iptables安装 命令

查看防火墙的端口,输入以下命令:

iptables -L -n --line
/etc/init.d/iptables status

这两句哪一句都可以,是一样的。

在这里插入图片描述如上图所示,从2可以看到3306端口,查看到1标志的accept,防火墙没有拦截;如果是drop那说明就是拦截的;拦截的就要修改为accept;

修改方法为:
输入:vim /etc/sysconfig/iptables

在这里插入图片描述
然后还要重启防火墙:

service iptables restart

让修改有效

参考博文:
博客链接:Linux mysql允许远程连接


番外

需要开启对3306的防火墙端口才能连接。。。如果没有开启,也就是在没有在iptables中,也是访问不了的!

如果查看防火墙,并没有3306的端口,又想要将这个端口添加在防火墙中;

使用上面修改那个方法,同样也可以添加一条语句,这里不赘述。

除此之外,使用下面的任意一个命令都可以实现:


iptables -D INPUT -m state ––state NEW -m tcp -p tcp ––dport 3306 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

参考博文:
Linux iptables 查看、添加、删除端口,查看防火墙文件,及配置时保存出错解决方法


既然防火墙的问题解决了,接下来就要解决远程访问的权限问题 了;

首先需要进入mysql中,然后输入以下语句:
在这里插入图片描述


grant all privileges on *.* to 'root'@'%' identified by 'password';

这语句,前面是grant all privileges:授予所有的权限意思 on

第一个*是数据库,可以改成允许访问的数据库名称

第二个 是数据库的表名称,代表允许访问任意的表

root代表远程登录使用的用户名,可以自定义

%代表允许任意ip登录,如果你想指定特定的IP,可以把%替换掉就可以了

password代表远程登录时使用的密码,可以自定义

修改之后,还需要刷新,才能生效,如下:

flush privileges;

然后尝试在远程访问linux服务器中的数据库,使用的navicat,如下:

在这里插入图片描述
navicat有测试连接的选项,测试连接:
在这里插入图片描述
然后连接,这样就成功了,显示了表,如下:
在这里插入图片描述

注意

如果以上还不能成功远程连接的话,那么可以尝试

修改my.cnf配置文件

这个是mysql的配置文件,如果你找不到在哪里的话,可以输入 find /* -name my.cnf 找到

通过vim编辑该文件,找到bind-address = 127.0.0.1这一句,然后在前面加个#号注释掉,保存退出

之后重启服务 service mysql restart

感谢文章:
Linux系统下实现远程连接MySQL数据库的方法教程

自启动

当linux中开机后,我们需要手动启动mysql,感觉很麻烦,所以可以设置自启动;

首先将mysql服务加入到系统服务:

chkconfig --add mysql

然后查询列表,输入:chkconfig或者chkconfig --list
如下:
在这里插入图片描述如果2345都是on,那么说明是加入成功了;

如果不是的话。。。那么设置为on,输入以下语句:

chkconfig --level 2345 mysqld on

或者

chkconfig mysql on

然后重启之后,查看是否有mysql服务,输入以下语句:

netstat -na | grep 3306

有服务则为成功;

更加详细的,其它方式自启动,参考博文:

Linux中设置服务自启动的三种方式


番外

上面的自启涉及到linux的7个运行级别;作为小白,就请大家参考以下博客了:

参考博客:
Linux系统7个运行级别图文详解

Linux7个运行级别

Linux系统的7个运行级别

0: 系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。

1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。

2:多用户模式,没有NFS网络支持。

3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。

4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。

6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。


安装tomcat

下载版本

进入下面的网址,选择自己的版本,注意选择之后选择的是bin的文件夹,部署src的文件。

tomcat历史版本下载

安装

在/usr/local/目录下创建tomcat的目录,然后
延续前面的传统,上传后移动到/这个目录下:
在这里插入图片描述

可以看到这个文件是.gz结尾的,所以这个是打包后的压缩文件;因而言使用
tar zxvf 压缩包名字
如下解压后:

在这里插入图片描述在启动之前,还得查看自己到底有没有安装过tomcat,输入语句如下:
在这里插入图片描述

如果是我这样的话,那说明是没有安装过其他的tomcat的;要是安装过就会显示安装的tomcat信息;

之后就是启动了,进入tomcat的/bin目录下,如下:
在这里插入图片描述

查看到startup.sh,并且使用启动命令./startup.sh:
在这里插入图片描述之后还需要配置环境变量,其实不配置也没事,环境变量的作用是为了在Dos窗口能够便捷操作;但是最好是配置好;

还是在/etc/profile/这个配置jdk环境变量的这个地方;
添加如下:

下面的这个CATALINA_HOME为Tomcat安装路径,也可能是解压路径
export CATALINA_HOME=/usr/local/src/tomcat/apache-tomcat-7.0.57     

然后将这个路径添加到jdk的后面。
使用英文:来实现添加。注意还要将命令目录lib加进去
export CLASSPATH=.:$JAVA_HOME/lib:$CATALINA_HOME/lib
export PATH=$PATH:$CATALINA_HOME/bin

老样子,让配置生效,输入:
在这里插入图片描述
然后关闭tomcat,两种方式:

进入bin目录 	./shutdown.sh

进入bin目录  sh shutdown.sh

查看是否关闭成功,输入:

ps -ef | grep tomcat
在这里插入图片描述

要是有很多的tomcat信息就是没有关闭成功,像我这样就是关闭成功了;

没关成功,使用杀死进程来实现关闭:

kill -9 端口号

之后重新启动./startup.sh:
在这里插入图片描述

注意

如果环境变量配置失败的话,那么就无法启动成功tomcat的,会报如下错误:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
At least one of these environment variable is needed to run this
program

并且也无法直接使用 startup.sh 命令和shutdown.sh命令,因为环境变量识别不出来。

端口的修改

请参考:
Linux安装tomcat,配置环境变量

防火墙设置

之后就是跟mysql一样,也要查看防火墙对tomcat端口,默认是8080;看是否在防火墙中开放端口;

查看防火墙中端口:

在这里插入图片描述明显是没有的。。。。。没有的话,是要添加到防火墙中去的,不要头铁。。。不然是无法访问的;当然权限要设置成能够访问,这个在前面的mysql安装上已经说了,就不赘述了。

添加这个8080端口;

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

在这里插入图片描述添加之后需要使用,service iptables save命令让保存防火墙,之后重启;

查看这个端口的监听是否打开,使用:

netstat -ano | grep 8080
在这里插入图片描述有就说明已经监听了

这个时候就可以访问这个8080端口了,即连接linux服务器的ip加8080;

在这里插入图片描述
如上显示,证明成功了!

参考:
linux查看是否安装tomcat

自启动

Linux centos7下设置Tomcat开机自启动

安装Redis

线上安装

获取到线上安装的地址:
github地址

使用yum安装

CentOS7 linux下yum安装redis以及使用

使用wget安装

Centos7下安装redis

压缩包安装

首先查看自己是否安装有redis,以及redis的服务,如下语句:

whereis redis-cli	查看是否安装redis
whereis redis-server 查看是否安装redis的服务

在这里插入图片描述

我这里是啥都没有的。。

因为redis是C语言开发,安装redis需要在官网下载源码编译,编译的环境的话依赖gcc环境;

先下载gcc的环境,使用:

yum install gcc-c++

如下:

在这里插入图片描述
然后创建redis的安装包存放目录,我这里标记一下是在:

/usr/local/java/redis

然后不使用在线下载redis的命令,而是将下载好的安装包上传到服务器;如下:
在这里插入图片描述
注意了,这个上传是上传到了linux的/root目录下面的;

所以需要移动到之前创建的目录中,如下:
在这里插入图片描述
之后就是解压这个文件,如下:
在这里插入图片描述

解压之后就可以看到这个解压文件了,如下:
在这里插入图片描述

解压之后不是安装才,要先编译,进入解压后的文件,
输入:make,然后回车编译就就变成这样了:
在这里插入图片描述
编译后的redis就是这样的:
在这里插入图片描述

编译之后就是安装了,进入之前解压后的redis目录,然后执行:

make PREFIX=/usr/local/java/redis install

PRIFIX:这个是自己要安装到的目录;

如下:
在这里插入图片描述

退出redis的解压目录,这样就可以看到安装后的目录了,如下:
在这里插入图片描述

进入安装后的目录bin,可以查看到以下目录:
在这里插入图片描述
这些目录的意思是:

redis-server:Redis服务器端启动程序

redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作

redis-benchmark:Redis性能测试工具

redis-check-aof:数据修复工具

redis-check-dump:检查导出工具

接下来还需要启动一下,看是否成功。得进入安装后的bin目录之后,执行以下语句:

第一个是服务,
第二个是redis解压后的配置文件,因为修改过所以要加上
./redis-server /usr/local/java/redis/redis-2.8.9/redis.conf 

在这里插入图片描述启动之后,正常来说应该是有一个图标显示的,如下:
在这里插入图片描述

在这里想要启动客户端,那么就得要退出去,按ctrl+c。。。这样不就启动redis服务没啥用了嘛。。。所以就需要设置redis在后台启动。
进入redis的解压后的文件,找到redis.conf,如下:
在这里插入图片描述修改vim redis.conf配置文件,找到daemonize守护进程,表示redis就会以守护进程的形式启动。
在这里插入图片描述感谢:
redis启动后的窗口该如何退出?

启动之后,啥表示也没有。。。。这是因为已经在后台为启动进程了;使用:
ps -ef | gerp redis
或者
ps -aux | grep redis
命令查看其进程,如下:
在这里插入图片描述说明服务已经启动成功了,然后启动客户端,如下:
在这里插入图片描述尝试增删查命令,如下:
在这里插入图片描述

说明安装是成功的,没有问题~~~~

退出的话,按exit:
在这里插入图片描述关闭redis的话,使用shutdown;
在这里插入图片描述之后使用ps -ef | gerp redis 是可以看到redis进程关闭了;如果没关闭,可以使用kill -9 进程号 强制关闭。

远程访问

上面已经安装好了redis,但是对于redis的访问,还涉及到远程访问的问题,毕竟是部署到linux服务器上的,所以需要设置其远程访问;

在此之前,先要设置redis的能够后台运行,进入redis的解压文件,找到其配置文件,如下:
在这里插入图片描述编辑 vim redis.conf ,将文件中的daemonize属性改为yes(表明需要在后台运行)
在vim的命令行模式,可以使用:/要查找的字符串 进行查找字符串;
记住大概位置;再进入插入模式,修改为yes
在这里插入图片描述然后保存;

之后就是设置其可以远程访问了;同样是修改其conf文件,进入然后将bind 这一行注释掉,如下:
在这里插入图片描述

我这里是已经注释掉了,要是没有注释掉的话;还是要注释掉;这是代表只能指定网卡段才能远程访问redis,注释掉没有限制;当然,为了安全着想,也可以设置为指定网卡段或者网卡;

如果版本是3.2.3之后,那么配置文件中,还得修改一个地方,把edis.conf配置文件中的 protected-mode 设置成no(默认是设置成yes的, 防止了远程访问)
在这里插入图片描述

防火墙

做完上面的步骤之后,应该是差不多了的。。。但是涉及到远程访问,所以还有一个防火墙的问题。。。。。

查看防火墙设置:iptables -L -n --line

在这里插入图片描述

啥都没有。。。。

没有的话,我尝试远程登录,看是否成功。。。。报连接错误Connect not。。。。没用。。。。。果然不能头铁。。。。
将6379端口,加入白名单,如下:

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

使用service iptables save保存,然后重启之后,再次查看防火墙:
在这里插入图片描述
继续连接,然后就连接成功了,如下:
在这里插入图片描述

添加密码

看到不少其他博主写的远程连接都设置了redis的密码;自己也设置一个:
进入解压目录中的redis.conf文件,使用vim redis.conf命令,然后找到# requirepass foobared:
在这里插入图片描述
a.重新添加一句,去掉#号:
requirepass + 密码

b.直接将原来的#去掉,然后foobared改为密码

在这里插入图片描述

注意

可以将redis的位于解压文件的conf配置文件,移动到bin目录下,这样就比较方便管理。也比较好启动

但是这里我没有如此,是因为我的目录结构很清晰了,晓得在redis目录下有其三个文件,这样很容易寻找,所以没必要了。

感谢博文:

Linux下安装redis,并启动服务端和客户端 。

Another.Redis.Desktop.Manager远程连接Redis

Redis Desktop Manager连接Redis的坑

Redis在Linux下的安装、启动和关闭

自启动

redis也可以设置自启动;
跟mysql的自启动不一样,可以采用其它的方式进行自启动;

首先进入linux开机后扫描的文件之一,如下:
在这里插入图片描述

然后将redis的服务和配置文件所在的地址添加进去,如下:

/usr/local/java/redis/bin/redis.server /usr/local/java/redis/redis-2.8.9/redis.conf

这样就可以了。

感谢博主:
Linux下安装Redis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值