本文准备从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. python基础:内置函数zip,map,filter

    一.zip zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,可以用zip,会帮你轮流循环两个list 比如: l1=[1,2,3,4,5] l2=['a','b','c','d ...

  2. 关于Nginx mmap(MAP_ANON|MAP_SHARED, 314572800)报错

    mmap 报错解决 今天修改了一下测试环境的Nginx的nginx.conf,然后做检测的时候报了一个错误 /usr/local/bin/nginx -c /usr/local/etc/openres ...

  3. graph attention network(ICLR2018)官方代码详解(tensorflow)-稀疏矩阵版

    论文地址:https://arxiv.org/abs/1710.10903 代码地址: https://github.com/Diego999/pyGAT 之前非稀疏矩阵版的解读:https://ww ...

  4. IIS实现Nginx功能:转发

    这个标题本身是不合理的,但是基于目前公司有一份系统是外部代理商贴牌使用,有一个老的站点是部署在IIS上,好多代理商自己的域名绑定在这个上面,而近期新版本的系统已经上线,那么需要将这些域名也转发到新的站 ...

  5. Charles的几个用途

    1.拦截请求,篡改请求和响应 拦截请求,修改请求可以测试网站中一些异常的情况,检查服务端是否有校验的情况 检查是否存在漏洞,就看拦截之后修改过的数据是否写进了数据库 使用方法: 举例一:上传文件 1. ...

  6. Mybatis的Mapper中的方法为什么不能重载?

    目录 前言 环境配置 错误示范 为什么不能重载? 如何找到XML中对应的SQL? 总结 前言 在初入门Mybatis的时候可能都犯过一个错误,那就是在写Mapper接口的时候都重载过其中的方法,但是运 ...

  7. [剑指Offer]18-题目一:删除链表的节点 题目二:删除链表中重复节点

    题目一 题目 O(1)时间复杂度删除给定链表节点. 题解 用待删除节点后一个节点的值覆盖待删除节点值,更新链接关系. 注意链表只有一个节点:删除尾结点:删除头节点的处理. 代码 class ListN ...

  8. Git切换分支开发

    入职第一家公司做开发的时候使用的项目版本管理工具是svn,公司内部搭建的服务器:在第二.第三家公司做开发的时候,使用的项目版本管理工具是Git,现在大多数公司使用的也是Git.刚进入公司的时候首先做的 ...

  9. 可以定时的FTP FTP如何实现每天定时上传文件

    FTP上传一般都是一次性上传,我们在工作中总有一些文件,需要每天上传一次.有这么一款ftp上传工具是具有定时功能的.每天自动定时上传省时省力还操作简单. 工具名称:服务器管理工具(下载地址:http: ...

  10. 关于python中break与continue的区别

    在python中break和continue都有跳出循环体的作用,但是他们还是有一些区别的,具体区别如下: break:是直接跳出循环,跳出自己所处的整个循环体 continue:只是跳出本次循环,而 ...