Linux KVM 虚拟化技术

article/2025/10/14 14:54:00

一  、 KVM 介绍 ;

KVM 全称是 基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux 的一个内核模块,该内核模块使得 Linux 变成了一个 Hypervisor:
 ① 、它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购。
 ②、它支持 x86 (32 and 64 位), s390, Powerpc 等 CPU。
 ③ 、它从 Linux 2.6.20 起就作为一模块被包含在 Linux 内核中。
 ④ 、它需要支持虚拟化扩展的 CPU。
 ⑥ 、它是完全开源的 

 

二 、KVM 架构 ;

 KVM 的架构非常简单,KVM 就是一个内核模块,用户空间通过QEMU模拟硬件提供给虚拟机使用,一台虚拟机就是一个普通的Linux 进程,通过对这个进程的管理就可以完成对虚拟机的管理。

KVM 是基于虚拟化扩展(Intel VT 或者 AMD-V)的 X86 硬件的开源的 Linux 原生的全虚拟化解决方案,KVM 中,虚拟机被实现为常规的 Linux 进程,由标准 Linux 调度程序进行调度;虚机的每个虚拟 CPU 被实现为一个常规的 Linux 线程。这使得 KMV 能够使用 Linux 内核的已有功能。

 但是,KVM 本身不执行任何硬件模拟,需要用户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟 I/O,并将它的视频显示映射回宿主的显示屏。目前这个应用程序是 QEMU。

Guest:客户机系统,包括CPU(vCPU)、内存、驱动(Console、网卡、I/O 设备驱动等),被 KVM 置于一种受限制的 CPU 模式下运行。
KVM:运行在内核空间,提供 CPU 和内存的虚级化,以及客户机的 I/O 拦截。Guest 的 I/O 被 KVM 拦截后,交给 QEMU 处理。
QEMU:修改过的被 KVM 虚机使用的 QEMU 代码,运行在用户空间,提供硬件 I/O 虚拟化,通过 IOCTL /dev/kvm 设备和 KVM 交互。

 

注意 :KVM  公司使用场景 ;

一般是底层采用 KVM 上层采用 OpenStack ,通过OpenStack 来管理 KVM 的  ;

 

三 、 KVM 的功能列表  ;
KVM 所支持的功能包括:
 ① 、支持 CPU 和 memory 超分(Overcommit)
 ② 、支持半虚拟化 I/O (virtio)
 ③ 、支持热插拔 (cpu,块设备、网络设备等)
 ④ 、支持对称多处理(Symmetric Multi-Processing,缩写为 SMP )
 ⑤ 、支持实时迁移(Live Migration)
 ⑥ 、支持 PCI 设备直接分配和 单根 I/O 虚拟化 (SR-IOV)
 ⑦ 、支持 内核同页合并 (KSM )
 ⑧ 、支持 NUMA (Non-Uniform Memory Access,非一致存储访问结构 )

 

四 、 安装部署 KVM  ;

安装之前需要确保开启了  BIOS  此功能 ;

4.1 、确保把 disable  改成 enable 

4.2 、  配置内存不要少于3G ,配置虚拟机支持KVM虚拟化  ;

 

4.3  、  基础环境检查 ;

[root@kvm ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
[root@kvm ~]# uname -r
3.10.0-693.el7.x86_64
[root@kvm ~]# getenforce 
Disabled
[root@kvm ~]# systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
[root@kvm ~]# hostname -I
10.0.0.200 172.16.1.200 
[root@kvm ~]# 
 

4.4 、KVM 检查,其实KVM已经内置到了centos7 的内核中 ;

[root@kvm ~]# lsmod |grep kvm
kvm_intel             170086  0 
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm
[root@kvm ~]# 
 

[root@kvm ~]# grep -Eo '(vmx|svm)' /proc/cpuinfo
vmx                                                  ---->>  这里需要保证 必须要有一个 vmx 一个vmx 表示一个 cpu  也就是一核的 两个表示是两核
[root@kvm ~]# 

 

五 、安装管理kvm 的命令 ;

[root@kvm ~]# yum -y install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install 

查看已经安装的软件包 ;

[root@kvm ~]# rpm -qa|grep -E 'qemu|libvirt|virt'

virt-what-1.13-6.el7.x86_64

libvirt-daemon-driver-storage-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-config-network-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-nodedev-2.0.0-10.el7_3.9.x86_64

libvirt-2.0.0-10.el7_3.9.x86_64

ipxe-roms-qemu-20160127-5.git6366fa7a.el7.noarch

qemu-kvm-common-1.5.3-126.el7_3.10.x86_64

libvirt-client-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-network-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-nwfilter-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-qemu-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-lxc-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-interface-2.0.0-10.el7_3.9.x86_64

libvirt-glib-0.2.3-1.el7.x86_64

virt-manager-common-1.4.0-2.el7.noarch

qemu-kvm-1.5.3-126.el7_3.10.x86_64

virt-manager-1.4.0-2.el7.noarch

qemu-img-1.5.3-126.el7_3.10.x86_64

libvirt-daemon-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-config-nwfilter-2.0.0-10.el7_3.9.x86_64

libvirt-daemon-driver-secret-2.0.0-10.el7_3.9.x86_64

libvirt-python-2.0.0-2.el7.x86_64

virt-install-1.4.0-2.el7.noarch

qemu-kvm-tools-1.5.3-126.el7_3.10.x86_64

[root@localhost ~]#

 

===========================================================

安装包详解;

python-virtinst-0.600.0-29.el6.noarch          # 一套Python的虚拟机安装工具

gpxe-roms-qemu-0.9.7-6.14.el6.noarch       # 虚拟机iPXE的启动固件,支持虚拟机从网络启动

virt-manager-0.9.0-29.el6.x86_64                # 基于Libvirt的图像化虚拟机管理软件,需要图形界面操作系统

qemu-img-0.12.1.2-2.479.el6.x86_64           # 用于操作虚拟机硬盘镜像的创建、查看和格式转化

libvirt-python-0.10.2-54.el6.x86_64              # libvirt为Python提供的API

qemu-kvm-0.12.1.2-2.479.el6.x86_64          # KVM在用户空间运行的程序

qemu-kvm-tools-0.12.1.2-2.479.el6.x86_64

libvirt-0.10.2-54.el6.x86_64                         # 用于管理虚拟机,它提供了一套虚拟机操作API

libvirt-client-0.10.2-54.el6.x86_64           # Libvirt的客户端,最重要的功能之一就是就在宿主机关机时可以通知虚拟机也关机,使虚拟机系统                                                                      正常关机,而不是被强制关机,造成数据丢失

virt-top-1.0.4-3.15.el6.x86_64             # 类似于top命令,查看虚拟机的资源使用情况

virt-what-1.11-1.2.el6.x86_64              # 在虚拟机内部执行,查看虚拟机运行的虚拟化平台

virt-viewer-0.5.6-8.el6.x86_64             # 显示虚拟机的控制台console

 

5.1  、 启动  libvirtd 服务  ; 

[root@kvm ~]# systemctl start libvirtd.service                --->>  启动 libvirtd 服务会出现 3 4 网卡信息 
[root@kvm ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    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 pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:ed:fb:50 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.200/24 brd 10.0.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:feed:fb50/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN 
    link/ether 52:54:00:86:12:85 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 500
    link/ether 52:54:00:86:12:85 brd ff:ff:ff:ff:ff:ff

[root@kvm ~]# 

[root@kvm ~]# systemctl status libvirtd.service              --->>  查看服务状态   ;
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2018-09-21 21:29:26 CST; 1min 23s ago        -->>  这里是绿色的表示启动成功 ;
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 18713 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           ├─18713 /usr/sbin/libvirtd
           ├─18834 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dh...
           └─18835 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dh...

 

六  、  开始创建虚拟机  ;

6.1 、创建虚拟硬盘,以后的数据放在哪里  ;

[root@kvm ~]# mkdir -p /application/kvm_data
[root@kvm ~]# cd /application/kvm_data
[root@kvm kvm_data]# qemu-img create -f qcow2 /application/kvm_data/moban.qcow2 10G
[root@kvm kvm_data]# ll -h
total 196K
-rw-r--r-- 1 root root 193K Sep 21 21:35 moban.qcow2
 

create          --->>  创建  ;
-f                 --->> 指定磁盘格式  ;
moban.qcow2       --->>  虚拟磁盘文件名称     大小为 10G   ;


6.2  、查看虚拟磁盘的详细信息 ;

[root@kvm kvm_data]# qemu-img info moban.qcow2 
image: moban.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)            ---->>   实际大小 
disk size: 196K                                                 ---->>  使用中的大小
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false
[root@kvm kvm_data]# 

 

6.3   安装虚拟机( 挂载光盘 ) ;

 

6.4  、创建 挂目录 ;

[root@kvm kvm_data]# mkdir -p /application/tools
[root@kvm kvm_data]# cd /application/tools
[root@kvm kvm_data]#  dd if=/dev/sr0 of=/application/tools/CentOS7_2.iso        --- >> 挂载镜像
[root@kvm tools]# ll -h
total 4.1G
-rw-r--r-- 1 root root 4.1G Sep 21 22:00 CentOS7_2.iso
[root@kvm tools]# 
 

安装 KVM 图形界面 ;(注意 ; 这里需要一个  VNC 的远程连接软件 )

virt-install --virt-type=kvm --name=c72-moban --vcpus=1 -r 1024 -c /application/tools/CentOS7_2.iso --network network=default --graphics vnc,listen=0.0.0.0--noautoconsole --os-type=linux --os-variant=rhel7 --disk 
path=/application/kvm_data/moban.qcow2,size=10,format=qcow2

参数注解 ;

--virt-type=kvm              --->>  指定 kvm 的虚拟化来安装虚拟机  ;

--name=c72-moban       --->>  指定虚拟机的名称  ;

--vcpus=1                      --->>  指定cpu 的核数

-r 1024                         --->>  指定的是内存 1024  1G 这里最少给1G 少于1G 是看不到图形的 ;

-c                                  --->> 指定了安装镜像的路径  ;

network                         --->> 指定了网络类型   

graphics                        --->> 指定图形化安装 指定了使用 vnc  ; 

--os-type=linux              --->>  指定linux 系统  ;

--os-variant=rhel7          --->> 指定系统是红帽 7 

--disk path                      --->> 指定了磁盘的系统文件 ;

安装第2台虚拟机需要改动的2 个地方  ;

 

 

[root@kvm kvm_data]# virt-install --virt-type=kvm --name=c72-moban --vcpus=1 -r 1024 -c /application/tools/CentOS7_2.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/application/kvm_data/moban.qcow2,size=10,format=qcow2

 

Starting install...                                             ------->>  执行以上命令结束之后,到 vnc 界面点击确认确保是可以看到安装页面的表示成功 ;
Domain installation still in progress. You can reconnect to 
the console to complete the installation process.
[root@kvm kvm_data]# 
 

之后就是安装系统的界面  。。。。。。。。。。。。。。。。。

 

VNC  的端口是 5900 

 

 

七  、  命令行中查看和管理虚拟机的命令 ;

[root@kvm kvm_data]# virsh list --all               ---->>  查看正在运行的虚拟机,虚拟机列表
 Id    Name                           State
----------------------------------------------------
 1     c72-moban                      running
 

生成kvm虚拟机: virt-install

查看在运行的虚拟机: virsh list

查看所有虚拟机: virsh list --all

查看kvm虚拟机配置文件: virsh dumpxml name

启动kvm虚拟机: virsh start name

正常关机:virsh shutdown name

非正常关机(相当于物理机直接拔掉电源):virsh destroy name

删除:virsh undefine name(彻底删除,找不回来了,如果想找回来,需要备份/etc/libvirt/qemu的xml文件)

根据配置文件定义虚拟机:virsh define file-name.xml

挂起,终止: virsh suspend name

恢复挂起状态:  virsh resume name

 

这两个文件最好长备份一下  ;

KVM  虚拟机在宿主机就是一个进程 

当启动第一个虚拟机是用的默认的端口 5900 , 第二个是 5901  依次类推,所以在启动第二台的时候需要加上端口号 

磁盘文件格式 ;

 

八 、虚拟机克隆  ;

8.1    确保虚拟机是关闭状态 

[root@kvm kvm_data]# virsh shutdown c72-moban    --->>  关闭c72-moban 虚拟机

[root@kvm kvm_data]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     c72-moban                      shut off

 

8.2  、 克隆 

[root@kvm kvm_data]# ls
moban.qcow2
[root@kvm kvm_data]# cp moban.qcow2 clone.qcow2
[root@kvm kvm_data]# ll -h
total 2.1G
-rw-r--r-- 1 root root 1.1G Sep 22 02:25 clone.qcow2
-rw-r--r-- 1 root root 1.1G Sep 22 02:11 moban.qcow2
[root@kvm kvm_data]# pwd
/application/kvm_data
[root@kvm kvm_data]# 

root@kvm kvm_data]# virsh dumpxml c72-moban >/tmp/moban.xml       --->>  导出模板文件 ;

[root@kvm kvm_data]# cp /tmp/moban.xml{,.ori}         --->>  备份模板文件 ;

 

修改配置文件 ;

uuid  和 mac   随便改几个数字即可,只要保证不一样就行 ;

 

现在娱有了 虚拟机的新的磁盘文件,需要导入了 ;

[root@kvm tmp]# virsh define moban.xml           --->>  导入文件 
Domain c72-clone defined from moban.xml

[root@kvm tmp]# 

 

[root@kvm tmp]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     c72-clone                      shut off
 -     c72-moban                      shut off

 

[root@kvm tmp]# virsh start c72-clone            --->>   启动这个虚拟机 
Domain c72-clone started

[root@kvm tmp]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 2     c72-clone                      running
 -     c72-moban                      shut off

[root@kvm tmp]# 
 

 


http://chatgpt.dhexx.cn/article/MfD45CuM.shtml

相关文章

KVM 虚拟化详解

服务器虚拟化是云计算最核心的技术&#xff0c;而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起&#xff0c;KVM作为内核的一个模块 集成到Linux主要发行版本中。从技术架构&#xff08;代码量、功能特性、调度管理、性能等&#xff09;、社区活跃度&#xff0c;以…

KVM 虚拟化技术(理论详解+实战)

文章目录 前言什么是虚拟化为什么要用虚拟化虚拟化技术的优势KVM简介关于KVM关于Virtual Machine Manager其他虚拟化软件 KVM虚拟化平台部署 前言 什么是虚拟化 在计算机技术中&#xff0c;虚拟化&#xff08;技术&#xff09;或虚拟技术&#xff08;英语&#xff1a;Virtual…

虚拟化技术之KVM,搭建KVM(详细)

首先说一下&#xff0c;KVM是基于硬件辅助的开源全虚拟化解决方案 一、KVM&#xff08;基于内核的虚拟机&#xff09;【刚开始是一家以色列的公司开发的&#xff0c;后来红帽觉得KVM很有前景&#xff0c;就把KVM收购了】。 二、KVM包含了一个内核加载模块&#xff0c;是一个.…

KVM虚拟化

文章目录 虚拟化介绍kvm简介Qemu-KVM虚拟化部署kvmKVM管理界面安装 虚拟化介绍 虚拟化&#xff1a;在一台计算机上虚拟出多个逻辑的计算机&#xff0c;而且每个逻辑计算机 它可以是不同操作系统 虚拟化技术&#xff1a;可以扩大硬件容量&#xff0c;单个cpu模拟出多个cpu并行…

虚拟化技术KVM入门学习

目录 一、虚拟化技术概述二、主流虚拟化介绍1、虚拟化技术主要分类2、平台虚拟化技术分类 三、KVM虚拟化技术简介1、KVM架构及解析 四、KVM软件安装1、环境准备2、查看CPU是否支持VT技术3、清理环境&#xff0c;卸载原有KVM4、安装软件5、启动服务6、查看kvm模块加载 五、Guest…

KVM虚拟化技术

KVM虚拟化技术 Qemu-kvm kvm virt-manager VNC Qemu-kvm创建和管理虚拟机 一.KVM简介 KVM&#xff08;名称来自英语&#xff1a;Kernel-basedVirtual Machine的缩写&#xff0c;即基于内核的虚拟机&#xff09;&#xff0c;是一种用于Linux内核中的虚拟化基础设施&#xff0c;可…

KVM虚拟化(一)

一、KVM虚拟化架构 1、主流虚拟机架构 图中对比了几种主流虚拟化技术架构&#xff1a;ESXi、Xen与KVM&#xff0c;其主要差别在与各组件&#xff08;CPU、内存、磁盘与网络IO&#xff09;的虚拟化与调度管理实现组件有所不同。在ESXi中&#xff0c;所有虚拟化功能都在内核实现…

虚拟化技术-KVM详解

一、 KVM概述 1.1 KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机。 KVM&#xff0c;是一个开源的系统虚拟化模块&#xff0c;自 Linux 2.6.20 之后集成在 Linux 的各个主要发行版本中。它使用 Linux 自身的调度器进行管理&#xff0c;所以相对于Xen&#xff0c;其核心…

盘点腾讯后台开发各级工程师(T1-T9)需要具备哪些能力

作为一个程序员&#xff0c;不管是初入职场的菜鸟还是做开发多年的老鸟&#xff0c;都希望有机会能进大厂&#xff0c;最近有不少小伙伴问腾讯好不好进&#xff1f;需要的技术栈是怎么样的&#xff1f;本文就给大家普及一下腾讯后台开发各级工程师&#xff08;T1-T9&#xff09…

大华热成像摄像头整合web 后台开发

大华热成像摄像头整合web 后台开发 项目背景&#xff1a;需要web后台主动抓拍/自动监控上报到web后台&#xff0c;通过百度智能云人脸识别。并推送到微信公众号 涉及平台&#xff1a;web后台&#xff0c;大华ndk&#xff0c;百度人脸识别 1、大华热成像ndk 包及 demo解析说明本…

微信公众号后台开发总结

微信公众号后台开发总结 一、项目简介 当前需要做一个公众号后台&#xff0c;前期需要实现的功能有&#xff1a; &#xff08;1&#xff09; 在用户关注公众号时便获取用户的信息同时还要将用户信息存入数据库。 &#xff08;2&#xff09; 在用户给公众号发送消…

c/c++后台开发前景到底如何?该如何提升?

最近听到很多人都在讲&#xff1a;在这个Java热火朝天&#xff0c;人工智能高能吹捧的市场&#xff0c;c/c开发人员还有人要&#xff1f; 小编想说的是&#xff1a;有&#xff0c;而且很多企业都是有在招c/c开发人才。 只是IT这个行业&#xff1a;普遍高端稀缺&#xff0c;中端…

程序员告诉你:C/C++后台开发需要学习哪些技能书

前言&#xff1a;后台开发工程师主流使用的编程语言有C、Java、PHP以及目前慢慢流行的Golang等。小编就将以C的角度&#xff0c;讲讲如何学习和准备后台开发的岗位。 一、语言基础 无论是C开发还是Java开发&#xff0c;对于一个码农而言&#xff0c;最重要的就是对于编程语言的…

c++后台开发适合入坑吗?就业前景如何?

一、什么是c后台开发&#xff1f; c后台开发也可以叫c后端开发&#xff0c;其实从技术上来说并无不同。 c后台开发就是基于linux环境和C语言的服务器程序开发&#xff0c;像qq服务器、微信服务器、王者荣耀服务器等等。虽然现在各种高级语言大火&#xff0c;但是在高性能这一…

后台开发之常用工具

最近windows电脑系统又莫名地崩了&#xff0c;重装了系统&#xff0c;其他磁盘文件还保留着&#xff0c;发现大部分软件之前装载D盘&#xff0c;还是可以继续用的&#xff0c;只需要将路径配置到环境变量即可。 趁着每个软件重新配置的机会&#xff0c;再来梳理一下平时开发过…

微信公众号后台开发

最近公司要做微信工作号开发&#xff0c;觉得有趣&#xff0c;便接了这单活。 1.首先已经申请了微信工作号&#xff0c;打开微信公众号平台 https://mp.weixin.qq.com/ AppId是这个公众号的唯一识别码&#xff0c;相当于登录名 AppSecret 是公众号的开发者密码&#xff0c;就相…

C++后台开发技术栈

目录 岗位要求 Linux C开发&#xff08;vivio&#xff09; C后台开发技术栈 岗位要求 Linux C开发&#xff08;vivio&#xff09; 熟悉掌握多线程/多进程 网络编程 常见RPC框架 设计模式 gdb调试等技术 计算框架mpi、tensorflow的研究与优化&#xff0c;不断提升性能…

C++后台开发学习路线

1.路线 一. 基础阶段 c/c编程语言 linux基础 数据结构与算法 设计模式 脚本语言(可选) 二. 入门阶段 linux系统编程 linux网络编程 三. 进阶阶段 数据库mysql 分布式缓存redis 网络库 四. 项目实践阶段 编写简单FTP服务器 C入门到精通Linux学习链接&#xff1a…

后台开发技术(1)--概述

说到后台开发,首选就有一个问题:什么是后台开发。就我理解,就是做服务器端开发。在服务器端运行着不同功能的服务,有直接与客户端连接的,有实现某一特定业务的比如用户注册登录,有数据存储的如基于mysql,memcached,redis等做的存储系统,除此之外还有一些满足运维监控系统…

腾讯T9职级后台开发要具备哪些专业的能力及知识点?

前言 首先说明这里的后台开发指的就是Linux上的C 编程。因为很多人对后台开发有误解,通常人们说前端后台,后台就马上联想到web后台, java、php和各种web框架横飞的既视感。 web后台属于后台,但后台却不只有web后台。两者是包含关系。 从网络协议的角度分析, web后台聚焦的是HT…