前言
其实Windows可以直接建站的,IIS比nginx也好用,完全的图形化界面,只是因为Windows系统搭建php环境太过繁琐,而且日常备份和日后迁移的话可能会有兼容问题。最终还是决定Windows Server做宿主机系统,hyper-V安装Linux搭建LNMP环境建站。
为什么选择Hyper-V
商家的面板是提供各种系统的,包括PVE和EXSI等底层虚拟机,为啥最终选择Windows做宿主机系统?额,大概站长比较讨厌命令行吧,能可视化完成的事情,比敲命令愉快多了。
而且hyper v可以随时创建检查点,可以随时备份和恢复,方便迁移,即使换宿主机也可以快速恢复不用重新安装系统,全部都是GUI而且和我们日常的Windows操作逻辑一样。
性能损耗很少,hyper v效率很高。
hyper v下linux yabs跑分
Basic System Information:
---------------------------------
Uptime : 0 days, 0 hours, 4 minutes
Processor : Intel(R) Xeon(R) E-2236 CPU @ 3.40GHz
CPU cores : 12 @ 3373.971 MHz
AES-NI : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM : 21.5 GiB
Swap : 975.0 MiB
Disk : 391.7 GiB
Distro : Debian GNU/Linux 11 (bullseye)
Kernel : 5.10.0-18-amd64
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 349.88 MB/s (87.4k) | 910.99 MB/s (14.2k)
Write | 350.80 MB/s (87.7k) | 915.79 MB/s (14.3k)
Total | 700.68 MB/s (175.1k) | 1.82 GB/s (28.5k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 1.11 GB/s (2.1k) | 1.27 GB/s (1.2k)
Write | 1.17 GB/s (2.2k) | 1.36 GB/s (1.3k)
Total | 2.28 GB/s (4.4k) | 2.64 GB/s (2.5k)
iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Clouvider | London, UK (10G) | 959 Mbits/sec | 940 Mbits/sec
Online.net | Paris, FR (10G) | 954 Mbits/sec | 938 Mbits/sec
Hybula | The Netherlands (40G) | 960 Mbits/sec | 942 Mbits/sec
Uztelecom | Tashkent, UZ (10G) | 892 Mbits/sec | 894 Mbits/sec
Clouvider | NYC, NY, US (10G) | 901 Mbits/sec | 768 Mbits/sec
Clouvider | Dallas, TX, US (10G) | 867 Mbits/sec | 869 Mbits/sec
Clouvider | Los Angeles, CA, US (10G) | 846 Mbits/sec | 853 Mbits/sec
Geekbench 5 Benchmark Test:
---------------------------------
Test | Value
|
Single Core | 1157
Multi Core | 5503
Full Test | https://browser.geekbench.com/v5/cpu/17192087
Windows下geekbench 5跑分
无虚拟化Linux下跑分
asic System Information:
---------------------------------
Uptime : 0 days, 3 hours, 31 minutes
Processor : Intel(R) Xeon(R) E-2236 CPU @ 3.40GHz
CPU cores : 12 @ 900.305 MHz
AES-NI : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM : 31.1 GiB
Swap : 7.5 GiB
Disk : 450.0 GiB
Distro : Debian GNU/Linux 11 (bullseye)
Kernel : 5.10.0-17-amd64
fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k (IOPS) | 64k (IOPS)
------ | --- ---- | ---- ----
Read | 851.72 MB/s (212.9k) | 934.60 MB/s (14.6k)
Write | 853.97 MB/s (213.4k) | 939.52 MB/s (14.6k)
Total | 1.70 GB/s (426.4k) | 1.87 GB/s (29.2k)
| |
Block Size | 512k (IOPS) | 1m (IOPS)
------ | --- ---- | ---- ----
Read | 1.14 GB/s (2.2k) | 1.31 GB/s (1.2k)
Write | 1.20 GB/s (2.3k) | 1.40 GB/s (1.3k)
Total | 2.35 GB/s (4.6k) | 2.72 GB/s (2.6k)
iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider | Location (Link) | Send Speed | Recv Speed
| | |
Clouvider | London, UK (10G) | 940 Mbits/sec | 940 Mbits/sec
Online.net | Paris, FR (10G) | 938 Mbits/sec | 938 Mbits/sec
Hybula | The Netherlands (40G) | 942 Mbits/sec | 942 Mbits/sec
Uztelecom | Tashkent, UZ (10G) | 885 Mbits/sec | 894 Mbits/sec
Clouvider | NYC, NY, US (10G) | 891 Mbits/sec | 898 Mbits/sec
Clouvider | Dallas, TX, US (10G) | 860 Mbits/sec | 870 Mbits/sec
Clouvider | Los Angeles, CA, US (10G) | 842 Mbits/sec | 854 Mbits/sec
Geekbench 5 Benchmark Test:
---------------------------------
Test | Value
|
Single Core | 1362
Multi Core | 5953
Full Test | https://browser.geekbench.com/v5/cpu/17175097
目前hyper v存在的问题:
- Windows不是开源免费的,需要购买微软授权码。
- Windows占用大量资源,系统本身就占用一部分RAM和硬盘,加上虚拟机占用的空间,至少需要100G空间来给Windows使用。
Windows Server安装hyper V环境
打开服务器管理器,点击添加角色和功能。
选择基于角色或者功能的安装
在服务器角色中选择Hyper-V(站长已经安装过了)
然后一直下一步--重启即可。
重启后再次打开服务器管理器,就有Hyper-V选项了。右击选择Hyper-V管理器即可打开。
Hyper-V安装debian
建立虚拟网卡
Hyper-V管理器右边点击虚拟交换机管理器--新建虚拟网络交换机--随意命名--选择内部网络--确定
我们要搭建NAT模式,不要选择外部网络的桥接模式,这样安装linux的时候,系统读不出ipv4地址。而且桥接模式下物理网卡开启共享会直接导致你无法通过3389端口连接到你的服务器,若商家面板没有提供带外管理(Out-of-band management)就只能重装系统了。
配置完虚拟网卡后,打开设置--网络和Internet--更改适配器选项,会发现多了一个虚拟网卡。
首先在你的物理网卡右击--属性--共享--打勾
然后选择虚拟网卡--属性--Internet协议4--使用下面的地址 一般系统会自动配置好
DNS服务器自己找快速的就行
虚拟网卡就配置完成了。
虚拟机设置
右边新建--虚拟机
名称--位置--自定义
第一代就是传统模式的引导
第二代就是UEFI
安装Liunx,硬盘没超过2T,建议第一代就行。
内存自定义
配置网络--选择刚才的虚拟网卡
硬盘容量--大小--位置--自定义
安装选项--从cd安装--选择映像你下载的iso文件
完成搞定
你创建的虚拟机右键--可以选择处理器核心数以及虚拟机性能释放限制。
剩下就是启动--安装系统。
linux设置
上面虚拟网卡是NAT,安装完linux后ip默认是动态的,要设置成静态ip,否则后面会影响虚拟机端口映射。
首先查看linux分配到的ip
ip addr show
一般会显示你的内网回环地址和DHCP分到的地址
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:d2:41:01 brd ff:ff:ff:ff:ff:ff
inet 192.168.137.156/24 brd 192.168.137.255 scope global eth0
valid_lft forever preferred_lft forever
只要记住eth0就好
修改/etc/network/interfaces,删除iface eth0 inet dhcp
按以下格式修改
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 192.168.137.156(linux中查询的地址)
netmask 255.255.255.0(上面虚拟网卡中的子网地址)
gateway 192.168.137.1(上面虚拟网卡的地址)
修改完毕,重启网络或者直接重启虚拟机。
systemctl restart networking
端口映射
配置完虚拟机后,要想从外网连接上虚拟机,必须把虚拟机的端口映射到宿主机的端口,端口可以不一样,比如把虚拟机的22端口映射到宿主机233端口。
打开宿主机的CMD或者PowerShell
查询端口映射情况
netsh interface portproxy show v4tov4
添加端口映射
netsh interface portproxy add v4tov4 listenport=223 listenaddress=xx.xx.xx.xx(宿主机) connectaddress=xx.xx.xx.xx(虚拟机) connectport=22
删除一个端口映射
netsh interface portproxy delete v4tov4 listenaddress=xx.xx.xx.xx(宿主机) listenport=8888
Windows防火墙放行端口
端口映射完后,需要在Windows防火墙里放行。
以22端口为例:
服务器管理器--工具--高级安全Windows防火墙
添加入站规则---入站规则---新建规则
选择端口
输入你要放行的端口和协议(TCP/UDP)
允许连接
全勾选
名称自定义,确认完成。
到此,已经可以从外网通过ssh连接到虚拟机了。
文章版权归作者所有。发布者:白嫖怪,转转请注明出处:https://c7pai.com/579/