为什么要使用虚拟机创建web服务呢？因为群晖web太垃圾了，原生是无法安装面板的，更别提什么修改阿帕奇的配置文件了，伪静态测试也不要想了，重点是，这次更新软件后，之前建立的博客程序全都挂了，拜托，要不要这么坑。为此我只能选择放弃群晖转用虚拟机！虚拟机我走了多少弯路无脑下一步安装系统完毕后，没有网络，于是各种百度，因为不懂ssh命令啥的，最多会和cd进入路径啥的，于是耗费2小时终于明白怎么回事后，敲他大爷，外网能访问，主机和虚拟机不能ping？？？百度搜索后，看了三页的教程，80%是转载，而且剩下的20%也是牛鬼蛇神，每种都不一样，甚至好几个命令都是错的？？？写完都不管的吗？经历了n种教程洗礼，大部分都吹NAT模式，但是谁都不说，虽然NAT模式可以让虚拟主机上外网，但是设置的ip给了NAT虚拟路由器，所以说，虚拟主机能ping主机，主机ping不通虚拟机（我要是有刀我可能先给这位写的自信满满的阿婆主放点血）又是一顿操作后，主机和虚拟机能ping了，外网也没问题了，但是你无法通过浏览器输入ip访问虚拟机的web服务，我甚至有点想笑经过两次重装后总结出一些经验，这玩意还是要看看软件的网络桥接原理了解vm网络的三种方式vm软件在虚拟机接入网络种有三种方式，分别为：1.桥接模式；2.NAT模式；3.仅主机模式；1.桥接模式通过主机的网卡架设一条桥梁，直接连接到网络中，为此，虚拟机可以获得一个独立的ip地址，并且主机和虚拟机之间可以相互通信，并且还可以访问网络，但是前提是，你主机所连接的是路由器，路由器带dhcp，虚拟主机自己设置静态ip，以免每次重启获得的ip地址都不一样。2.NAT模式NAT模式，会创建一个新的虚拟网卡，这个网卡用来模拟路由器，也就是说，主机和虚拟机之间隔了一个路由器，有点知识的都知道，如果上级和下级之间通过路由器连接，那么下级可以访问到上级，但是上级是无法访问到下级的，因为ip段的不同，下级是因为有路由器获取到过上级的ip段，所以能访问，这个模式有一个好处就是，虚拟机和虚拟机之间可以相互通信，主机和虚拟机默认是不能的，但是可以通过设置，这个设置就很五花八门了，目前百度上没有好的说明，我自己都是瞎折腾，看不懂vm里面的设置。3.仅主机模式该模式就是断绝外网，只让虚拟机和主机通信，但是你要上网也是可以的，找到主机的网卡，属性-共享-勾选允许其他网络用户通过此计算机的internet连接来连接-然后选择一个专用网络-找到虚拟机使用的网卡（一般是vm1）-然后确定以上三种模式，我被NAT折磨的死去活来，而且即便如此，我依旧不能让主机通过访问虚拟机的ip地址来进入web服务，而且ssh也无法访问，看了几个教程，貌似要进行端口跳转，太过复杂，完全不是我想要的。了解 centos7 Minimal具体的软件网络连接已经说了，我们来稍微了解一下centos7 Minimal版本，这是一个最小安装的系统，可以理解为基本包，在这个基本包上加上更多的功能就是完整包，完整包现在4g多了，对我的需求来说，用一个基本包就行了，但是基本包会有几个小问题需要自己设置好。首先就是网络问题：安装的时候，我们要对网络进行设置，这样就不用安装完用命令修改了，我们先将ip设置成不自动获取，ipv4手动添加地址，比如192.168.3.189，子网掩码设置255.255.255.0，默认网关就设置你路由的ip地址，你用哪个ip地址进路由器管理界面你就输这个地址，我的路由器是192.168.3.1。设置好后点击确认（完成），返回到上个界面，开启网络，我们甚至还可以自己定义网卡的名字，这个随意了。vm安装centos安装很简单，无脑下一步，具体百度参考别人的，我这边只是上个配置图，按着这个配置自行修改，主要是网络那边要一样，其他的看自己要求设置。centos进入图形界面安装，和window没多大区别，只要在网络那做下修改就行，这个上面有说，修改好后提示设置root的密码，设置好点击安装，等待安装完毕。Minimal的系统没有图形界面，所以安装完毕后会进入命令界面，这个时候我们要先测试一下是否能后和主机通信，外网是否连接成功。ping 主机ipcmd-ipconfig-获得主机ip地址，然后虚拟机里输入 ping 主机ip地址 如果能ping通会有ms这种单位ping 外网虚拟机输入 ping www.baidu.com ；如果和ping主机一样有ms单位，表示能够ping通，此时你的虚拟机内外网都是ok的。安装net-tools包Minimal默认没有，通过输入 yum install net-tools进行安装，期间要求输入y/n，无脑y就行了，直到提示complete。安装完我们输入ifconfig即可获得网络信息。手动设置网卡静态获取ip地址这一步用于开头安装的时候没有设置好的时候！root账户 输入命令 ：cd /etc/sysconfig/network-scripts进入network-scripts目录，输入ls查看里面的文件，找到你的网卡，一般第一个就是了。再次输入vi 你的网卡名称，如上图所示就输入vi ifcfg-ens33进入编辑文件界面，这是按一下键盘i键进入编辑状态。TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none //这里设置成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=2ffdc60d-e31a-463e-ad90-3f94b26e8db8 DEVICE=ens33 ONBOOT=yes //设置成yes IPADDR=192.168.3.189 //这里填手动获取的ip地址 PREFIX=24 //这里写一样的就行 GATEWAY=192.168.3.1 //这里填路由器的ip地址 DNS1=8.8.8.8 //这里填DNS地址，照着写 IPV6_PRIVACY=no ZONE=public //照着写 以上我写了注释的都要设置好，设置好按一下esc键退出编辑，输入:wq并回车保存，如果编辑错了可按esc退出，并输入:quit退出编辑，再按i重新编辑。保存后重启网络，输入： service network restar重启后就能访问到外网了，然后再去安装net-tools包注：如果安装完tools包输入ifconfig还是无法使用，可以输入yum upgrade升级一下，再试试。ssh连接关闭防火墙保险起见，我们需要先关闭防火墙，centos7版本的命令有两个：sudo systemctl stop firewalld sudo systemctl disable firewalld查看防火墙状态sudo systemctl status firewalld如果提示：active (running)则表示防火墙是开启的，提示 Active: inactive (dead)则表示关闭。//开启状态 Active: active (running) since Fri 2019-05-03 06:58:31 CST; 15min ago //关闭状态 Active: inactive (dead)打开ssh软件，输入之前设置的虚拟机ipv4地址，端口22，账号root，密码为之前设置的root密码，然后就可以安装web服务了，果断安装面板！这里已安装宝塔6.9为例，输入yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh提示y/n无脑y，等待安装完毕，完毕后会有后台地址提示，这个时候，他的这个地址是不对的，我们直接在浏览器输入设置的ip地址+端口号+安全入口即可进入后台，然后就是自由发挥了。开启FTP服务 RaiDrive软件进行本地加载磁盘宝塔安装完服务后，我们开启ftp服务，设置好账号密码，然后目录就选择/www/wwwroot网页存放目录，打开RaiDrive，添加ftp，输入ip地址账号密码，端口默认，记得去掉仅读取，然后添加完毕，此时打开我的电脑就可像访问磁盘一样访问虚拟机里面的文件了。优点分析[x] 完整的web端体验 [x] 本地的读写速度，方便调试[x] 采用虚拟机，重装系统后，虚拟机系统并不受影响[x] 虚拟机提供回档服务，所以你可以随便折腾[x] 使用RaiDrive配合ftp，优雅的避免了linux系统怎么设置磁盘共享的大难题[x] 血虐群晖缺点分析[x] 如果不小心删除了RaiDrive弄出来的虚拟机磁盘中的文件，找不回来，所以要小心