2019-8-24 [Linux] 15.搭建两台虚拟机实现互联组成一个小型网络 详细版

15.1 需求说明

使用两台linux,一台主linux,一台从linux.主linux主要工作是后台 从linux主要工作是前台
主linux命名为 : master
从linux命名为 : slave1
master 安装 JDK Tomcat MySQL Nginx
slave1 安装 JDK Tomcat

1.2 分技术介绍

1.2.1 JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

1.2.2 Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

1.2.3 MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。
MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。
由于其社区版的性能卓越,搭配 PHP 和 Apache 可组成良好的开发环境。

1.2.4 Nginx

1.2.4.1 序言

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。

牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。

1.2.4.2 Nginx常用功能

1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。
在这里插入图片描述
这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。

Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。

  1. 负载均衡
    Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。

上3个图,理解这三种负载均衡算法的实现
在这里插入图片描述
Ip hash算法,对客户端请求的ip进行hash操作,然后根据hash结果将同一个客户端ip的请求分发给同一台服务器进行处理,可以解决session不共享的问题。
在这里插入图片描述
3. web缓存
Nginx可以对不同的文件做不同的缓存处理,配置灵活,并且支持FastCGI_Cache,主要用于对FastCGI的动态程序进行缓存。配合着第三方的ngx_cache_purge,对制定的URL缓存内容可以的进行增删管理。

15.3 linux初始化配置

安装linux,版本Centos7,初始化配置包括静态网卡配置,关闭防火墙,关闭SELinux;

15.3.1 安装linux

15.3.1.1 创建虚拟机

  1. 新建虚拟机

  2. 选择虚拟机版本

  3. 选择centos7的镜像文件

  4. 修改虚拟机的名称与文件位置

  5. 调整虚拟CPU的核心数

  6. 设置虚拟内存

  7. 选择虚拟网络类型,此处选择NET模式

  8. 选择虚拟硬盘类型 默认即可

  9. 设置虚拟硬盘大小,此处选择单一文件

  10. 完成配置开启虚拟机

15.3.1.2 安装linux

鼠标移入 点击回车

下面页面继续点击回车

检查磁盘,需要稍等一会儿

选择 语言 中文 --> 简体中文

整体配置页面 需要配置 网络 日期和时间 硬盘格式化

网络选择

此处需要记住 主机的IP信息 因为使用的是NET模式,所以谁和谁的都不一样,要注意这个问题
配置完成之后别忘记点击上方的完成回到主页面配置其他信息
回到主页面选择时间和日期,验证网络配置是否正确,此处我们主要通过添加NTP服务器的方式进行验证

是绿色的对号 说明是可以连接阿里云的,那也就是变相的说明我们的服务器现在是可以连接网络的
接下来调整磁盘

所有配置工作结束 开始完成安装

下一个页面设置root的密码是 000000

因为我们的密码过于简单,所以此处第一次点完成会停顿一下 然后再点一次完成就可以了

等待安装成功之后点击重启按钮 等待进入系统即可

到此系统安装成功

15.3.2 配置静态网卡

登录虚拟机,查看本机IP

根据此处返回的ip地址 进行客户端连接的配置,配置过程略

编辑网卡配置文件

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

添加如下内容

BOOTPROTO="static"
IPADDR="192.168.92.10"
NETMASK="255.255.255.0"
GATEWAY="192.168.92.2"
DNS="192.168.92.2"
NM_CONTROLLED="no"

讲解

BOOTPROTO="static" <-- 替换之间的dhcp设置
IPADDR="192.168.92.10" <-- IP地址
NETMASK="255.255.255.0" <-- 子网掩码
GATEWAY="192.168.92.2" <-- 默认网关
DNS="192.168.92.2" <-- DNS
NM_CONTROLLED="no" <-- NetManager设置

修改好之后进行网络服务配置

  1. 关掉NetManager
[root@localhost ~]# systemctl stop NetworkManager.service       <-- 停止服务
[root@localhost ~]# systemctl disable NetworkManager.service    <-- 移除自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.
Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
  1. 重启网卡

    [root@localhost ~]# systemctl restart network.service

重启网卡之后需要用新IP再重新连接,并且要验证是否可以上网

1.3.3 关闭防火墙

[root@localhost ~]# systemctl stop firewalld.service <-- 关闭防火墙
[root@localhost ~]# systemctl disable firewalld.service <-- 移除防火墙开机自动启动
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

1.3.4 关闭SELinux

[root@localhost ~]# vi /etc/selinux/config

在这里插入图片描述
重启服务器

[root@localhost ~]# reboot

15.4 linux的常用软件安装

配置阿里云的yum源

  1. 安装wget

    [root@localhost ~]# yum -y install wget

  2. 下载yum源的配置文件

    [root@localhost ~]# wget http://mirrors.aliyun.com/repo/Centos-7.repo

  3. 替换原有的yum源

[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo ~/     <-- 备份原有的到root的家目录
[root@localhost ~]# mv ~/Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo <-- 将下载的yum配置文件放在系统的指定目录
  1. 更新现有yum
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
[root@localhost ~]# yum -y update
  1. 安装常用软件
[root@localhost ~]# yum -y install openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl lrzsz openssh-clients zlib zlib-devel make  autoconf automake cmake libtool openssl openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd ntp

15.5 linux的JDK安装

此处我们选用 jdk1.8_144这个版本作为我们的基础JDK,此处要切记一点的是1.8的不同版本JDK在配置上会有很大的出入,所以请不要随便更换基础的JDK版本,否则你会很尴尬!
使用 rz 上传jdk到root的家目录

[root@localhost ~]# rz

使用rpm命令安装jdk

[root@localhost ~]# rpm -ivh jdk-8u144-linux-x64.rpm

配置jdk的环境变量

[root@localhost ~]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

刷新环境变量

[root@localhost ~]# source /etc/profile
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/java/jdk1.8.0_144/bin
[root@localhost ~]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)

到此 JDK安装完成

15.6 linux的Tomcat安装

使用 rz 命令上传tomcat的压缩包

[root@localhost ~]# rz

注意我们上传的gzip压缩的tomcat压缩包,所以解压的时候需要使用 tar -zxvf 命令操作

[root@localhost ~]# tar -zxvf apache-tomcat-8.0.53.tar.gz -C /usr/local

重新修改tomcat的文件目录名称

[root@localhost ~]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-8.0.53 tomcat

1.7 linux克隆与SSH配置

  1. 修改计算机名称
[root@localhost ~]# hostnamectl set-hostname master.javaee <-- 修改计算机名称为 master.javaee
[root@localhost ~]# hostname <-- 查看现在的计算机名称
master.javaee
  1. 配置host

    [root@localhost ~]# vi /etc/hosts

添加内容

192.168.92.10 master.javaee
192.168.92.11 slave.javaee

测试

[root@localhost ~]# ping master.javaee
PING master.javaee (192.168.92.10) 56(84) bytes of data.
64 bytes from master.javaee (192.168.92.10): icmp_seq=1 ttl=64 time=0.016 ms
64 bytes from master.javaee (192.168.92.10): icmp_seq=2 ttl=64 time=0.024 ms
  1. 关机克隆
    关机

    [root@localhost ~]# shutdown -h now

开始克隆
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
4. 修改从机的计算机名和IP地址
修改计算机名称

[root@master ~]# hostnamectl set-hostname slave.javaee
[root@master ~]# hostname
slave.javaee

修改主机IP

[root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改前 :
在这里插入图片描述
修改后 :
在这里插入图片描述
5. 重启从机 启动主机 master ping两个主机的主机名看是否有问题

[root@master ~]# ping master.javaee
PING master.javaee (192.168.92.10) 56(84) bytes of data.
64 bytes from master.javaee (192.168.92.10): icmp_seq=1 ttl=64 time=0.016 ms <-- 有响应说明可以正常操作
64 bytes from master.javaee (192.168.92.10): icmp_seq=2 ttl=64 time=0.026 ms
^C
--- master.javaee ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.016/0.021/0.026/0.005 ms

[root@master ~]# ping slave.javaee
PING slave.javaee (192.168.92.11) 56(84) bytes of data.
64 bytes from slave.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值