VirtualBox下安装CentOS7系统

https://www.cnblogs.com/hihtml5/p/8217062.html

本文假定你已经知道如何安装VirtualBox虚拟机软件,并且已经安装好了。

首先我们需要准备好centos的iso镜像文件,可以从centos的官网下载(比较慢)。

建议从阿里云镜像下载http://mirrors.aliyun.com/centos/7/isos/x86_64/

以下操作使用的VirtualBox版本号是5.2.0(很重要

一、创建虚拟机

1.下载好操作系统镜像文件后,打开VirtualBox,点击新建虚拟机(首次新建虚拟机推荐使用向导模式,熟练操作步骤后建议使用专家模式)

img

虚拟机名称可以随便输入,类型选择linux,在操作系统的发行版本中没有找到可选的centos版本,我们选择Other Linux版本(其他版本)替代,如果我们安装的是64位操作系统那么对应的选项是(64-bit),如果是32位那么对应的选项是(32-bit),可以从我们下载的操作系统的iso镜像文件名称中得知操作系统位数(下载之前我们就应该知道的)。

错误补充:CentOS Linux 的发行版本是通过编译 Red Hat, Inc 公开提供的 Red Hat 企业级 Linux 开源代码而产生的。所以这里根据官方的说法应该选择redhat的发行版(其实这里选择Other Linux来创建虚拟机也没有什么问题)。

2.以上设置完成后,点击下一步 进行分配内存

img

使用建议的内存大小即可,根据宿主机的配置可以自己进行调整,这里的值可以理解为虚拟机最大可占用宿主机的多少内存。

3.内存分配完成,点击下一步设置虚拟硬盘

img

这里有三个选项,可以选择使用已有的虚拟硬盘文件,或者先不添加虚拟硬盘,等创建好虚拟机后再添加,这里我们选择第二个现在创建虚拟硬盘

4.点击创建,进入虚拟硬盘文件类型选项

img

默认选项即可,默认选择的是VirtualBox虚拟机软件专用的磁盘映像格式,其他虚拟机软件可能无法读取。

5.点击下一步,进行设置如何分配虚拟硬盘

img

默认选项即可,两者有何不同界面上已经有很详细的说明了。

6.点击下一步,指定虚拟硬盘文件的存放位置和虚拟硬盘的大小。

img

虚拟硬盘的大小使用第3步中推荐的硬盘大小即可。

7.点击创建,虚拟机创建完成

img

主界面中已经看到刚刚创建的虚拟机。

二、安装操作系统

1.正常启动刚刚创建好的虚拟机

img

提示我们选择一个虚拟光盘文件(iso文件)或者光驱来启动虚拟电脑

2.选择我们准备好的操作系统iso镜像文件,点击启动

img

第一个选项是安装CentOS7,第二个选项是检查操作系统文件是否损坏并安装CentOS7。

3.我们选择第一个选项按下回车键直接安装,进入语言选择界面

img

选择中文->简体中文

4.点击界面右下角的继续按钮进行下一步

img

提示先完成带有黄色叹号的内容,否则无法进行下一步,我们看到安装位置处于此状态,并显示已选择自动分区

5.黄色叹号只是警告我们默认使用了自动分区,目的是让我们确认一下,是否需要手动分区,我们点进去

img

如果不需要手动分区,还使用默认的自动分区进行安装的话,我们直接点击左上角的完成退出

6.退出后回到刚刚那个摘要的界面,发现黄色感叹号不见了

img

右下角可以开始安装了,不过安装之前我们需要把以太网打开,否则系统安装后无法联网,并且在命令行操作系统内开启网络需要修改配置相对麻烦。

7.摘要的界面上可以看到网络和主机名的显示为未链接,我们点进去

img

点击打开以太网,点击完成退出

8.此时的网络和主机名显示有线已连接

img

9.如果需要图形界面,可以点击软件选择,选择基本环境(如果需要图形界面请下载完整版的操作系统iso镜像文件)

img

这里选择最小安装即可,linux作为服务器时一般不需要图形界面(图形界面会消耗掉一定的硬件性能),有一个终端仿真器,然后能够通过shell命令去操作系统就足够了。

10.回到安装信息摘要界面,点击开始安装

img

警告我们设置root密码和创建用户,并且下面显示已经开始安装操作系统

11.设置root密码

img

点击完成两次完成root密码设置

12.回到配置界面,发现创建用户的警告消失了

img

是因为没设置root密码之前系统内没有用户,警告我们创建一个用户,设置了root密码也就是创建了root用户,所以警告消失了

13.静静等待安装完成即可

.img

完成后点击重启

14.进入系统启动界面

img

发现启动时有两个选项,不过第二个选项我们不经常用,因为它是急救模式启动的选项(系统出现问题不能正常启动时使用并修复系统)

15.选择第一项 按下回车启动centos系统

img

输入用户:root,密码:安装时设置的root密码

16.登陆成功

img

VirtualBox下安装CentOS7系统到此全部结束。

三、 当宿主机插网线(以太网)时的虚拟机网络设置

1.virtualbox默认的网络连接方式如下

img

这种连接方式虚拟机可以ping通宿主机和外网,但是宿主机无法ping通虚拟机,执行ip address命令可以看到虚拟机自动分配的ip地址是10.0.2.15(我这里显示的是这个ip,可能会有不同),跟宿主机根本不在一个网段。

2.VirtualBox的四种网络连接方式

img

可以看到桥接模式是最佳选项,它支持所有情况的访问

3.修改虚拟机连接方式为桥接网卡

img

左边是宿主机的网络设置,右边是虚拟机网络设置,我们修改虚拟机的连接方式为桥接网卡、界面名称处选择的是宿主机当前使用的网卡

4.虚拟机网络修改完成后,查看宿主机网络信息

imgimg

保证你的宿主机网络连接正常,然后记下左图的信息,稍后虚拟机配置时需要作为参考。

5.启动虚拟机,输入ip address命令

img

默认情况下(下面第8步的BOOTRPOTO=dhcp时)虚拟机会根据宿主的网卡信息自动分配一个ip(如果没有分配ip可能是因为你的宿主机连接的wifi网络,稍后我们再说宿主机wifi网络下虚拟机如何上网),上图显示了ip/子网掩码信息和以太网卡的名称(根据这个名称可以在/etc/sysconfig/network-scripts/下找到相应的网络配置文件)。

6.如果一切顺利,经过以上步骤,我们的虚拟机应该可以与宿主机互相ping通了,再看看虚拟机能不能ping通外网(ping baidu.com),如果通了那下面的几步就不用看了,说明网络一切正常,如果不通则检查虚拟机是否获取到正确的dns服务器地址,执行vi /etc/resolv.cong可以看到自动获取的dns地址,发现这里是交换机的,而不是真实的dns地址

img

7.修改网络配置文件,执行cd /etc/sysconfig/network-scripts;ls

img

”ifcfg-“开头加上我们的以太网卡名称“enp0s3” 就是我们要修改的文件

8.使用vim根据宿主机网络信息修改虚拟机配置文件的内容

imgimg

左边是修改前,右边是修改后,右边把BOOTRPOTO修改成了static,是因为dhcp是自动获取,如果不改成static,我们在这里修改的这些地址不会生效,因为重启网络服务时,BOOTRPOTO的值决定了是自动分配还是使用静态数据,DNS1和DNS2对应的是宿主机的首选DNS服务器和备用DNS服务器

9.重启网络服务

img

网络重启后,再次执行vi /etc/resolv.cong可以看到dns地址已经更新成刚刚指定的dns地址,最后ping一下baidu.com,显示外网可以ping通了

四、当宿主机wifi时的虚拟机网络设置

1.网卡1

img

连接方式为网络地址转换(nat),用于访问外网

2.网卡2

img

连接方式为仅主机(Host-Only)网络,界面名称选择virtualBox安装后自动生成的以太网卡适配器,用于与宿主机通信

3.virtualBox安装后多出来的那个网络连接,它使用的网卡与虚拟机的网卡2是相同的

img

宿主机wifi时配置比较简单,以上几步即可。

到此网络配置结束,已经成功配好了宿主机ping通虚拟机、虚拟机ping通宿主机,虚拟机ping通外网

五、其它问题

为什么ifconfig 及 netstat程序centos7默认没有安装:你对 ifconfig/netstat 做了甚手脚?

有的宿主机的dns服务器可能显示是192.168.1/0.1,这是路由器的地址,真正的DNS服务器地址可以在路由器设置界面wan详情里看到,网上也可以找到一些通用的dns地址(不知道是否安全,不推荐使用)。

什么是宿主机?

虚拟机中的概念是这样的:
1、宿主机:指要安装虚拟机软件的计算机,你花钱买的物理机。
2、虚拟机:利用虚拟机工具构造出来的,有一整套硬件设备,有自己操作系统,应用软件。
3、宿主操作系统:物理机上安装的,例如在一台Win2K机上安装VMWare
4、客户操作系统:虚拟机上的操作系统,如Red Hat Linux。

推荐阅读:

centos官方wiki:https://wiki.centos.org/zh/FrontPage?action=show&redirect=zh

快乐的linux命令行:https://billie66.github.io/TLCL/book/index.html

上传文件报500错误

错误信息:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is java.io.IOException: The temporary upload location [/tmp/tomcat.7721052618001016198.9800/work/Tomcat/localhost/ROOT] is not valid] with root cause
java.io.IOException: The temporary upload location [/tmp/tomcat.7721052618001016198.9800/work/Tomcat/localhost/ROOT] is not valid

原因:

看错误是因为无临时目录导致上传文件失败,临时文件不存在是因为linux自动清理10天未操作的临时文件目录,而两个客户端时而可以时而不可以的问题是因为,采用了两台服务器的负载均衡,一台服务器由于10天未被分配到访问导致临时目录被清理,而另一台则收到访问临时目录未被清理,所以当无论哪台客户端被分配访问未被清理临时目录的服务器时都可以正常上传文件,而另一台则无法正常上传文件

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐