linux 安装常用软件

241 阅读11分钟

目录

安装Redis. 1

安装MongDB. 1

安装MySQL. 1

安装Nginx. 1

安装docker 1

安装JDK. 1

安装虚拟机

安装一些必要环境

安装wget

yum install wget

配置固定IP地址

Windows主机与centOS虚拟机之间"ping不通"的问题

开端

这是我重新安装centOS7.5虚拟机之后遇到的问题——我需要安装一个SecureCRT工具,结果主机与虚拟机没有ping通。

在安装这个工具之前需要进行主机与虚拟机的相互ping通,所以接下来需要一步步完成网络相关的一些配置。

虚拟机ifconfig查看网卡信息

首先 Vmware打开终端输入:ifconfig或者ifconfig ens33,可以看到 inet、netmask、broadcast分别是多少。

windows****终端ping虚拟机的inet

在windows系统上打开cmd命令窗口,ping 192.168.159.31 如果显示"TTL=数字",代表可以ping通;如果显示的是

"unreachable"(不可达),代表不能ping通。

查看windows上无线局域网适配器WLAN信息

在windows的终端输入:ipconfig 找到无限局域网WLAN下的ipv4,我的ipv4地址为192.168.43.61

虚拟机的终端ping windows上的ipv4

回到虚拟机的终端 ping 192.168.43.61 "time=xxms"结尾代表可达,否则会显示"unreachable",可以通过ctr+z来结束。

这样一来,主机与虚拟机之间就互相ping通,需要双方都ping通才行。如果没有ping成功,可能是配置还不够完善,

需要重新查看并编辑。

下面是针对主机与虚拟机的网络配置。

虚拟机网络的配置

首先来到vmware虚拟机的workstation,(此时我的主机连着手机的wifi)。点击编辑>打开虚拟网络编辑器>找到Vmnet8(NAT模式)

这里有子网IP、子网掩码,这些属于workstation的默认设置。如果虚拟机卸载过,或者改过子网和子网掩码,可能需要点击左下角的还原默认设置,

之前ping不通时的网络设置大概是和当前的虚拟机不匹配。我在还原默认设置之前就遇到了这样的问题,导致主机与虚拟机之间无法ping通。

注意:当前的子网IP为:192.168.159.0 子网掩码:255.255.255.0

选择NAT模式

接着点虚拟机>设置>网络适配器选NAT模式,即选的是Vmnet8(NAT模式)

windows****上VMware Network Adapter VMnet8属性设置

windows主机>网络和共享中心>更改适配器设置

Vmnet8****的IPV4属性设置

可以看到Vmware Network Adapter Vmnet8,右键>属性>Internet协议版本4(TCP/IPV4)

从之前虚拟网络编辑器得知Vmnet8默认的子网IP为:192.168.159.0

为了控制Vmnet8的ip和子网ip在同一网段,这里的IP可以填:

192.168.159.1 子网掩码:255.255.255.0 默认网关:192.168.159.2

对应虚拟机上的Vmnet8(NAT模式)进行如下图所示配置:

默认网关需要和子网ip及IP地址定义相同网段即159。如果不同会有这样的提示:

最后点击确定,要保证该网络适配器的状态为启动。然而Vmnet1的属性和状态可以完全忽略,NAT模式与它毫不相关。

ens33****的查看与修改

接着回到虚拟机输入:

查看:cat /etc/sysconfig/network-scripts/ifcfg-ens33

或者:vim /etc/sysconfig/network-scripts/ifcfg-ens33

输入命令后可以看到ipv6,ipv6这些都可以忽略,目前不可用。ens33——en表示以太网,s表示热拔插卡槽。

不同于传统的eth0、eth1、eth2,CentOS7提供了这种不同的命名,这种命名基于固件、拓扑、位置信息进行分配,它的好处是命名全自动、有规律。

ens33网卡的配置信息:

修改ens33的配置

在vim状态下;可以点”i”进行修改

需要添加/修改的属性有:

GATEWAY=192.168.159.2

NETMASK=255.255.255.0

DNS1=114.114.114.114

ONBOOT=yes

其中BOOTPROTO=none

IPADDR=192.168.159.31

备注: 要带上引号

如下所示:

ens33****网卡配置文本(同上图):

TYPE="Ethernet"
  PROXY_METHOD="none"
  BROWSER_ONLY="no"
  BOOTPROTO="none"
  DEFROUTE="yes"
  IPV4_FAILURE_FATAL="no"
  IPV6INIT="yes"
  IPV6_AUTOCONF="yes"
  IPV6_DEFROUTE="yes"
  IPV6_FAILURE_FATAL="no"
  IPV6_ADDR_GEN_MODE="stable-privacy"
  NAME="ens33"
  UUID="8f0934c4-68a8-4f93-91eb-49747f6aac12"
  DEVICE="ens33"
  ONBOOT="yes"
  
  
  IPADDR="192.168.2.130"
  
  GATEWAY="192.168.2.1"
  NETMASK="255.255.255.0"
  DNS1="114.114.114.114"
  ONBOOT="yes"
  
  

修改之后需要保存:Esc>shift:>wq!>Enter

然后执行命令:service network restart 接着可以看一下DNS解析服务器相关的配置文件内容是否已经更改cat /etc/resolv.conf

看到nameserver匹配即可,"yz"是我的虚拟主机名。114.114.114.114是DNS(Domain Name Server),

是国内移动、电信、联通通用的"域名解析服务器",当然也可以配置些别的DNS如8.8.8.8。

也可以ping一下百度

ping

www.baidu.com

DNS

会对这个域名进行解析。

对"没有ping通"的排查

没有ping通,就看看windows和linux虚拟机各自的防火墙是否处于关闭状态。

还有就是我遇到的问题:需要将虚拟网络编辑器还原默认配置。

如果还是ping不通,需要排查一下:

1 虚拟机ping虚拟网络适配器VMnet8网关

ping 192.168.159.2

2 虚拟机ping windows主机无线网络适配器WLAN网关

ping 192.168.43.1

3 看DNS域名解析服务器是否有效,如果有这样的显示则有效,无效可能需要更换,或者检查配置文件

nslookup

防火墙相关命令

查看某个端口号是否开启

firewall-cmd --query-port=6379/tcp

添加某个端口号

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

重载端口号,让添加的端口号生效

firewall-cmd --reload

查看所有打开的端口

firewall-cmd --zone=public --list-ports

查看防火墙状态

systemctl status firewalld

开启防火墙

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

重启防火墙

service firewalld start

若遇到无法开启 时

分别执行下面的2条命令

systemctl unmask firewalld.service

systemctl start firewalld.service

开启一个端口号

#添加80端口 (--permanent永久生效,没有此参数重启后失效)

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

#重新载入

firewall-cmd --reload
#查看所有打开的端口:

firewall-cmd --zone=public --list-ports

1安装Redis

Linux安装部署Redis(超级详细) - 长沙大鹏 - 博客园 (cnblogs.com)

Redis 依赖gcc和tcl环境,所以要先安装gcc 和ctl

安装gcc

yum install gcc-c++

解决:make:cc 命令未找到的解决方法 安装下面的命令

yum -y install gcc automake autoconf libtool make

安装ctl

yum install -y tcl

下载redis

wget download.redis.io/releases/re…

等待下载完成,然后解压

进入下载的目录,然后执行下面的命令

tar -zvxf redis-5.0.7.tar.gz

解压到指定的目录下面,可以使用下面的这个命令

tar -zxvf redis-5.0.14.tar.gz -C /usr/local/redis/

移动redis目录

一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv redis-5.0.7 /usr/local/redis

cd 到/usr/local 可以看到已经有redis目录了

编译

cd到/usr/local/redis , 执行make命令

make

最终如下所示:

提示: 如果报下面的错误,执行下面的命令

解决方案:
执行命令:make MALLOC=libc

然后再次执行

安装

输入以下命令

make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。

假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。

配置文件会存放在/usr/local/etc目录。

其他的资源文件会存放在usr/local/share目录。

这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

启动redis

根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis

启动redis 有2种方式,

第一种: 采取后台进程方式,下面是

./bin/redis-server& ./redis.conf

第二种: 采取显示启动方式(如在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样)。

./bin/redis-server ./redis.conf

两种方式区别无非是有无带符号&的区别。 redis-server 后面是配置文件,目的是根据该配置文件的配置启动redis服务。redis.conf配置文件允许自定义多个配置文件,通过启动时指定读取哪个即可。

配置redis.conf配置文件

1、 将daemonize改为yes,不然我每次启动都得在redis-server命令后面加符号&,不这样操作则只要回到Linux控制台则redis服务会自动关闭,

2、 将bind注释掉,

3、 将protected-mode设置为no。
这样启动后我就可以在外网访问了。

redis持久化

appendonly 改为yes

设置访问密码

编辑 redis 配置⽂件

vi /usr/local/redis/redis.conf

找到如下内容:

#requirepass foobared

去掉注释,将 foobared 修改为⾃⼰想要的密码,保存即可。

requirepass codesheep

保存,重启 Redis 服务即可

./bin/redis-server ./redis.conf

2安装MongDB

3安装MySQL

⾸先准备安装包

下载mysql 5.7.30 版本

下载地址:downloads.mysql.com/archives/co…

这⾥下载的是 mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz 安装包,并将其直接放在了 root ⽬录下

卸载系统⾃带的MARIADB(如果有)

如果系统之前⾃带 Mariadb ,可以先卸载之。
⾸先查询已安装的 Mariadb 安装包:

rpm -qa|grep mariadb

将其均卸载之:

yum -y remove mariadb-server-5.5.56-2.el7.x86_64
yum -y remove mariadb-5.5.56-2.el7.x86_64
yum -y remove mariadb-devel-5.5.56-2.el7.x86_64
yum -y remove mariadb-libs-5.5.56-2.el7.x86_64

解压MYSQL安装包

将上⾯准备好的 MySQL 安装包解压到 /usr/local/ ⽬录,并重命名为 mysql

tar -zxvf /root/mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
mv mysql-5.7.30-linux-glibc2.12-x86_64 mysql

创建MYSQL⽤户和⽤户组

groupadd mysql
useradd -g mysql mysql

同时新建 /usr/local/mysql/data ⽬录,后续备⽤

修改MYSQL⽬录的归属⽤户

[root@localhost mysql]# chown -R mysql:mysql ./

准备MYSQL的配置⽂件

在 /etc ⽬录下新建 my.cnf ⽂件

写⼊如下简化配置:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock
[mysqld]
skip-name-resolve
#设置3306端⼝
port = 3306
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装⽬录
basedir=/usr/local/mysql
# 设置mysql数据库的数据的存放⽬录
datadir=/usr/local/mysql/data
# 允许最⼤连接数
max_connections=200
# 服务端使⽤的字符集默认为8⽐特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使⽤的默认存储引擎
default-storage-engine=INNODB

lower_case_table_names=1
max_allowed_packet=16M

同时使⽤如下命令创建 /var/lib/mysql ⽬录,并修改权限:

mkdir /var/lib/mysql
chmod 777 /var/lib/mysql

正式开始安装MYSQL

执⾏如下命令正式开始安装:

cd /usr/local/mysql

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

注意:记住上⾯打印出来的 root 的密码,后⾯⾸次登陆需要使⽤

复制启动脚本到资源⽬录

执⾏如下命令复制:

[root@localhost mysql]# cp ./support-files/mysql.server /etc/init.d/mysqld

并修改 /etc/init.d/mysqld ,修改其 basedir 和 datadir 为实际对应⽬录:

basedir=/usr/local/mysql
datadir=/usr/local/mysql/data

设置MYSQL系统服务并开启⾃启

⾸先增加 mysqld 服务控制脚本执⾏权限:

chmod +x /etc/init.d/mysqld

同时将 mysqld 服务加⼊到系统服务:

chkconfig --add mysqld

最后检查 mysqld 服务是否已经⽣效即可:

chkconfig --list mysqld

这样就表明 mysqld 服务已经⽣效了,在2、 3、 4、 5运⾏级别随系统启动⽽⾃动启动,以后可以直接使
⽤ service 命令控制 mysql 的启停

启动MYSQLD

直接执⾏:

service mysqld start

将 MYSQL 的 BIN ⽬录加⼊ PATH 环境变量

这样⽅便以后在任意⽬录上都可以使⽤ mysql 提供的命令。
编辑 ~/.bash_profile ⽂件,在⽂件末尾处追加如下信息:

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

最后执⾏如下命令使环境变量⽣效

source ~/.bash_profile

⾸次登陆MYSQL

以 root 账户登录 mysql ,使⽤上⽂安装完成提示的密码进⾏登⼊

mysql -u root -p

接下来修改ROOT账户密码

在mysql的命令⾏执⾏如下命令即可,密码可以换成你想⽤的密码即可:

mysql>alter user user() identified by "123456";
mysql>flush privileges;

⽐如这⾥将密码设置成简单的“123456”了。

设置远程主机登录

mysql> use mysql;
mysql> update user set user.Host='%' where user.User='root';
mysql> flush privileges;

最后利⽤NAVICAT等⼯具进⾏测试即可:

创建Mysql用户并给用户授权

创建用户

CREATE USER 'wiki' IDENTIFIED BY 'wiki';

用户授权

GRANT ALL PRIVILEGES ON wiki.* TO 'wiki';

4安装Nginx

⾸先安装包并解压

这⾥下载的是 nginx-1.17.10.tar.gz 安装包,并将其直接放在了 root ⽬录下
1、在 /usr/local/ 下创建 nginx ⽂件夹并进⼊

cd /usr/local/
mkdir nginx
cd nginx

2、将 Nginx 安装包解压到 /usr/local/nginx 中即可

[root@localhost nginx]# tar zxvf /root/nginx-1.17.10.tar.gz -C ./

解压完之后, /usr/local/nginx ⽬录中会出现⼀个 nginx-1.17.10 的⽬录

预先安装额外的依赖

yum -y install pcre-devel
yum -y install openssl openssl-devel

编译安装NGINX

cd nginx-1.17.10
./configure
make && make install

安装完成后, Nginx的可执⾏⽂件位置位于

/usr/local/nginx/sbin/nginx

启动NGINX

直接执⾏如下命令即可:

[root@localhost sbin]# /usr/local/nginx/sbin/nginx

如果想停⽌Nginx服务,可执⾏:

/usr/local/nginx/sbin/nginx -s stop

如果修改了配置⽂件后想重新加载Nginx,可执⾏:

/usr/local/nginx/sbin/nginx -s reload

注意其配置⽂件位于:

/usr/local/nginx/conf/nginx.conf

浏览器验证启动情况

5安装docker

安装DOCKER

yum install -y docker

静候安装完毕即可

开启DOCKER服务

systemctl start docker.service

查看安装结果

docker version

设置开机启动

systemctl enable docker.service

配置DOCKER镜像下载加速

默认安装后的 Docker 环境在拉取 Docker 镜像时速度很慢:

因此我们需要⼿动配置镜像加速源,提升获取 Docker 镜像的速度。

配置⽅法⾮常简单。

直接编辑配置⽂件:

vi /etc/docker/daemon.json

在其中加⼊加速镜像源地址即可:

{
"registry-mirrors": ["hub-mirror.c.163.com"\]
}

⽐如这⾥使⽤的是 ⽹易 的加速源,其他像 阿⾥云 、 DaoCloud 这些也都提供加速源,按需选择即可。
加完加速地址后,重新加载配置⽂件,重启 docker 服务即可:

systemctl daemon-reload
systemctl restart docker.service

这样镜像加速器就配置完成了,后续下载 docker 镜像速度将⼤增。

6安装JDK

准备JDK安装包

我这⾥下载的是 jdk-8u161-linux-x64.tar.gz 安装包,并将其直接放在了 root ⽬录下

卸载已有的OPENJDK(如果有)

如果系统⾃带有 OpenJDK ,可以按照如下步骤提前卸载之。
⾸先查找已经安装的 OpenJDK 包:

rpm -qa | grep java

接下来可以将 java 开头的安装包均卸载即可

yum -y remove java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
yum -y remove java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
... 省略 ...

创建⽬录并解压

1、 在 /usr/local/ 下创建 java ⽂件夹并进⼊

cd /usr/local/
mkdir java
cd java

2、 将上⾯准备好的 JDK 安装包解压到 /usr/local/java 中即可

tar -zxvf /root/jdk-8u161-linux-x64.tar.gz -C ./

解压完之后, /usr/local/java ⽬录中会出现⼀个 jdk1.8.0_161 的⽬录

配置JDK环境变量

编辑 /etc/profile ⽂件,在⽂件尾部加⼊如下 JDK 环境配置即可

JAVA_HOME=/usr/local/java/jdk1.8.0_161
CLASSPATH=JAVA_HOME/lib/PATH=JAVA\_HOME/lib/ PATH=PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

然后执⾏如下命令让环境变量⽣效

source /etc/profile

验证JDK安装结果

验证JDK安装结果

java -version
javac

7、安装node

wget nodejs.org/dist/v14.17…

8、安装Maven

9、安装RabbitMQ

⾸先安装ERLANG环境

因为 RabbitMQ 需要 erlang 环境的⽀持,所以必须先安装 erlang 。
我们这⾥要安装的是 erlang-22.3.3-1.el7.x86_64.rpm ,所以⾸先执⾏如下命令来安装其对应的
yum repo :

curl -s packagecloud.io/install/rep… | sudo bash

接下来执⾏如下命令正式安装 erlang 环境:

yum install erlang-22.3.3-1.el7.x86_64

接着上⾯提示再次执⾏如下命令即可:(如果没有提示信息,不需要输入)

yum load-transaction /tmp/yum_save_tx.2020-05-14.22-21.n0cwzm.yumtx

接下来可以直接执⾏如下命令,测试 erlang 是否安装成功:

erl

安装RABBITMQ

接下来正式开始安装 rabbitmq ,⾸先依然是安装其对应的 yum repo :

curl -s packagecloud.io/install/rep… | sudo bash

然后执⾏如下命令正式安装 rabbitmq :

yum install rabbitmq-server-3.8.3-1.el7.noarch

设置RABBITMQ开机启动

chkconfig rabbitmq-server on

启动RABBITMQ服务

systemctl start rabbitmq-server.service

开启WEB可视化管理插件:

rabbitmq-plugins enable rabbitmq_management

访问可视化管理界⾯:

浏览器输⼊: 你的服务器IP:15672

注意: 记得开启15672端口号,否则无法访问

10、安装ElasticSearch

11、安装Logstash

12、安装Kibana