正在加载中

最后更新于 2019年05月03日

为什么要使用虚拟机创建web服务呢?

因为群晖web太垃圾了,原生是无法安装面板的,更别提什么修改阿帕奇的配置文件了,伪静态测试也不要想了,重点是,这次更新软件后,之前建立的博客程序全都挂了,拜托,要不要这么坑。

为此我只能选择放弃群晖转用虚拟机!

虚拟机我走了多少弯路

  1. 无脑下一步安装系统完毕后,没有网络,于是各种百度,因为不懂ssh命令啥的,最多会和cd进入路径啥的,于是耗费2小时终于明白怎么回事后,敲他大爷,外网能访问,主机和虚拟机不能ping???
  2. 百度搜索后,看了三页的教程,80%是转载,而且剩下的20%也是牛鬼蛇神,每种都不一样,甚至好几个命令都是错的???写完都不管的吗?经历了n种教程洗礼,大部分都吹NAT模式,但是谁都不说,虽然NAT模式可以让虚拟主机上外网,但是设置的ip给了NAT虚拟路由器,所以说,虚拟主机能ping主机,主机ping不通虚拟机(我要是有刀我可能先给这位写的自信满满的阿婆主放点血)
  3. 又是一顿操作后,主机和虚拟机能ping了,外网也没问题了,但是你无法通过浏览器输入ip访问虚拟机的web服务,我甚至有点想笑
  4. 经过两次重装后总结出一些经验,这玩意还是要看看软件的网络桥接原理

了解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 主机ip

cmd-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弄出来的虚拟机磁盘中的文件,找不回来,所以要小心

  • weixiao kaixin tushetou jingkong deyi fanu liezui liuhan daku ganga bishi nanguo lihai qian yiwen numu tu yi haixiu se fadai minyan hehe henkaixin huaji biyiyan kuanghan maimeng shui xiaku penqi zhangzui pen aini ye niu laji ok chigua renshi kongbu shuai xiaoxiese touxiao huaixiao jingnu chihuai kaisang xiaoku koubi zhuangbi lianhong kanbujian shafa zhijing xiangjiao dabian yaowan redjing lazhu rizhi duocang chixigua hejiu xixi xiaopen goukun xiaobuchu shenme wusuowei guancha lajing chouyan xiaochi bie zhadanzui zhadanxiao