本文准备从0开始,一步步搭建一套属于自己的多节点Linux系统环境,这将是后续学Linux、用Linux、Linux环境编程、应用和项目部署、工具实验等一系列学习和实践的基石,希望对小伙伴们有帮助。

提前备好Linux编程实验环境非常重要,建议人手一套,这样以后每当学完一个理论知识需要实践时,立马就可以拿到上面去练手了。

因此本文先把环境给搭建起来!

  • 文章末尾有惊喜哦!

 

软件准备

✪ VMware虚拟机软件:本文使用的是VMware Fusion 10.1.0版本

✪ CentOS操作系统ISO镜像:CentOS 7.4 64位

✪ SSH终端软件:SecureCRT

✪ SFTP文件传输工具:Transmit

✪ 物理宿主机系统:macOS Catalina 10.15.4

安装Linux操作系统

1、创建新的虚拟机

 

2、选择固件类型

 

默认即可

3、选择自定义设置

 

4、进入自定义设置

我们初步需要自定义的主要也就是处理器、内存、硬盘,可以根据宿主机性能按需分配。

 

 

 

5、启动虚拟机

 

如果有权限提示,记得打开权限允许,否则可能会报错

 

正式点击启动键,过程中各种提示权限的允许动作,建议都通过一下。

6、进入系统安装界面

 

 

7、选择安装语言

 

8、选择预安装的软件

 

 

9、配置分区

 

 

没有特别需求可以选择自动分区,大家如果有需要可以自定义分区。

10、进入正式安装过程

 

 

11、安装完成并重启

 

12、进入新系统

 

 

系统是装好了,但还有几个问题

问题一:虚拟机内Linux系统与外网无法连通

 

问题二:虚拟机内Linux系统与外部宿主机无法连通

比如我这里的物理宿主机的IP地址为:192.168.31.35

 

问题三:虚拟机内Linux系统节点与节点之间无法连通(如果装了多个Linux节点的话)

网络配置(极其重要!)

1、首先尝试查看虚拟机系统的IP地址

使用命令ifconfig进行查看。我们会发现装好的系统并没有为它设置IP地址。

2、设置虚拟机与物理宿主机的网络连接

 

首先选择桥接模式,另外由于我的物理主机是通过WiFi的方式连接到路由器最终访问外网,所以此处我选择的是Wi-Fi这一项

 

小伙伴们可以按实际情况进行选择。

3、为虚拟机配置固定静态IP

首先使用dhclient工具为本机分配一个网络内可用的IP地址:

 

接下来编辑虚拟机系统网卡配置,将上面分配所得的IP地址配置进去:

使用命令编辑:vim /etc/sysconfig/network-scripts/ifcfg-ens33

修改配置如下:

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=static

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=824ec4bd-a9ae-4410-8346-17ce7f3dd111

DEVICE=ens33

ONBOOT=yes

IPADDR=192.168.31.110

NETMASK=255.255.255.0

GATEWAY=192.168.31.1

DNS1=119.29.29.29

————————————

尤其注意下图红色标记部分的配置:

 

编辑完成,重启网络设置即可

systemctl restart network.service

检查安装配置结果

1、首先检查IP配置结果

 

2、检验虚拟机系统网络和外界的连通性

包括检查和外网的连通、和物理宿主机的连通、以及和兄弟节点(前提是你安装了多个虚拟机系统节点的话)之间的连接

 

3、反向检查物理宿主机和虚拟机系统网络的连接性

 

至此,大功告成!

SSH远程连接

在宿主机通过SSH终端连接虚拟机内Linux系统,成功!

 

SFTP文件传输

在宿主机通过SFTP工具即可访问虚拟机内Linux节点,从而可以实现本地和服务器的文件互传

 

这样一来,一个可用的Linux节点就打造完成了!

何不再多弄几个节点?

可以完全重复以上步骤再打造出多个Linux节点,当然更简单的方式则是直接通过上面已经装好了的虚拟机节点直接克隆,来快速生成其他节点。

 

 

克隆完成之后,只需要再配置一下新节点的网络即可。

后记

好啦,现在多节点的Linux环境终于搭建完成了,后续不管是学Linux、用Linux,还是Linux环境编程、应用和项目部署、工具实验,都有可以动手实践的地方了。

————————

看到这里你是不是对“Linux”又有了一点新的认知呢~

如果你喜欢这篇文章的话,动动小指,点个赞再走~

如果你想学编程,小编推荐一个C语言/C++、windows、Qt、Linux编程学习基地【点击进入】!

 

一个活跃、高逼格、高层次的编程学习殿堂;编程入门只是顺带,思维的提高才有价值!

涉及:编程入门、游戏编程、网络编程、Windows编程、Linux编程、Qt界面开发、黑客等等....

【Linux编译环境的搭建】Linux都没有,怎么学Linux编程?的更多相关文章

  1. 二、linux编译环境的搭建

    1.linux编译工具安装 vim安装:apt-get install vim 注意:使用C语言源代码语法加亮功能,需要配置文件/etc/vim/vimrc,加入代码syntaxon.文件后缀必须为. ...

  2. Linux开发环境的搭建和使用——Linux本必备软件SSH

    SSH 至 Secure Shell 缩写.由 IETF 网络工作组(Network Working Group)开发:SSH 以建立应用层和传输层安全协议中的基础上. SSH 是眼下较可靠,专为远程 ...

  3. linux虚拟机环境快速搭建redis5.x版本的主从集群总结

    文/朱季谦 我在阿里云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比 ...

  4. WebAssembly学习(二):Windows10下WebAssembly C/C++编译环境的搭建与Hello World尝试

    首先,不论是在Windows.Linux还是Mac上,Webassembly的编译都是主要依赖于Emscripten SDK这个工具的.但是,在这里必须要吐槽一下,不论是WebAssembly官网.W ...

  5. 第一篇:《UNIX 环境高级编程》编译环境的搭建

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...

  6. 《UNIX 环境高级编程》编译环境的搭建( 运行本专栏代码必读 )

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载 www.apuenook.com 第三步:解压下载到的包并放在用 ...

  7. Java编译环境的搭建(eclipse)

    每用一种语言开发,要搭建其编译和开发环境,我们废话不说,立刻来看看Java开发环境的搭建. 1.安装JDK和JRE Windows环境下: a.去Oracle官网下载对应版本的JDK安装包,http: ...

  8. 第一篇:《UNIX 网络编程 第二版》编译环境的搭建

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 第三步:解压下载到的包并放在用户主目录中 第四步:进入包内并执行以下命令 su ...

  9. 《UNIX 网络编程 第二版》编译环境的搭建( 运行本专栏代码必读 )

    第一步:搭建基本的编译环境 安装gcc, g++, bulid-essential等编译软件 第二步:下载本书示例源码包 可在这里下载http://ishare.iask.sina.com.cn/f/ ...

随机推荐

  1. 手把手带你体验鸿蒙 harmonyOS

    wNlRGd.png 前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 image.png 一.为什么要尝鲜 harmonyos? wNlfx ...

  2. pytest测试框架 -- skip跳过执行测试用例

      跳过执行测试用例 1.@pytest.mark.skip(reason=" ") -- 跳过执行测试函数 可传入一个非必须参数reason表示原因 import pytest@ ...

  3. jmeter(一)

    一.首先是下载:下载地址为:http://jmeter.apache.org/download_jmeter.cgi选择Binaries下的相应压缩包.ps:jmeter是开源项目,一般这种开源项目B ...

  4. C指针那点事儿

    指针: 用来存放变量地址的变量,就成为"指针变量". 定义: 一般形式:类名标识符 *指针变量名; int *p; float *q; "*"是说明符,用来说明 ...

  5. js中的鼠标滚轮事件

    ## 事件对象 event 1 event事件对象,表示用来获取事件的详细信息,比如得到鼠标的横坐标:事件对象.clientX(clientX是可视区坐标) window.onclick = func ...

  6. 高可用集群之keepalived+lvs实战2

    keepalived简介 lvs在我之前的博客<高负载集群实战之lvs负载均衡-技术流ken>中已经进行了详细的介绍和应用,在这里就不再赘述.这篇博文将把lvs与keepalived相结合 ...

  7. Node.js 从零开发 web server博客项目[接口]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  8. Spock测试套件入门

    目录 Spock测试套件 核心概念 整体认识 前置.后置 同junit的类比 Feature 方法 blocks 典型的用法 异常condition then和expect的区别 cleanup bl ...

  9. Redis的五大数据类型以及key的相关操作命令

    Redis的五大数据类型 redis的数据都是以key/value存储,所以说,五大类型指的是value的数据类型 String 字符串,作为redis的最基本数据类型 redis中的string类型 ...

  10. Spring的三大核心接口——BeanFactory、ApplicationContext、WebApplicationContext

    之前也在用这三个接口,但是对于他们的概念还是处于朦胧状态,同时,也不知道他们之间是一个什么关系,趁着现在有点时间总结一下吧,也需要对你有所帮助.一.BeanFactory       基本认识:    ...