目录
安装虚拟机
安装一些必要环境
安装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
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=PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
然后执⾏如下命令让环境变量⽣效
source /etc/profile
验证JDK安装结果
验证JDK安装结果
java -version
javac
7、安装node
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