当前位置:首页>python>Python学习【127】:虚拟化平台让python开发者拥有“私有云”

Python学习【127】:虚拟化平台让python开发者拥有“私有云”

  • 2026-10-10 16:26:42
Python学习【127】:虚拟化平台让python开发者拥有“私有云”

Python学习

一、学前花絮

我们关于python学习方面的文章林林总总已经100多篇了,涉及各个方面。而从之前的文章学习华为的仓颉语言的时候,我们被迫安装了虚拟机,因为网络上的学习路径认为python与仓颉只有在linux下才可以,而windows下安装wsl又因为某个更新包未成功。最后的解决方案是安装虚拟机+ubuntu获得linux环境。

而正如上篇文章所说的,费了14个小时,还是未能让python与仓颉互相调用成功。这也说明了国产计算机语言的生态很严峻。那么虚拟机+ubuntu是无辜的,它可不能因为这件事未成功而荒废。基于之前很多年对企业服务器操作系统linux的认识,它要比windows系统更适合做后台服务器。那么我们就因地制宜在虚拟机上做些事情吧!

如果你还在为学Python时弄乱系统而烦恼?一台虚拟机,就能让你拥有独立、可回滚、可联网的“学习实验室”。

二、用虚拟化平台搭建python学习网站

2.1 为什么Python学习需要虚拟化?

很多Python初学者都会遇到这样的困境:

l想装个Flask练手,又怕把系统环境搞乱

l想模拟真实的Web部署环境(Nginx + uWSGI + MySQL),但手头只有一台Windows电脑

l想试试不同Python版本的项目,切换起来麻烦

虚拟化平台(如VirtualBox、VMware)就是解决这些问题的最佳工具。它让你在一台物理机上,跑起多台“虚拟电脑”,每台都可以安装不同的操作系统和软件,互相隔离,互不影响。

对于Python学习者,虚拟化意味着:

  • 隔离:随便折腾Python环境,系统乱了就删掉重建,物理机安然无恙

  • 仿真:在虚拟机里搭建服务器环境,用Windows浏览器访问,体验真实的Web开发流程

  • 快照:装好一套环境后拍个快照,以后随时回到完美状态

今天,我们就用VirtualBox + Ubuntu,搭建一个完整的Python Web服务,并通过Windows浏览器访问——全程只需30分钟。

2.2 准备工作

物理机:Windows 10/11(已安装VirtualBox)

虚拟机:Ubuntu 22.04(网络模式设置为桥接网卡,这样虚拟机和物理机在同一局域网,可以互相访问)

基础软件:Python 3、pip、nginx(将在虚拟机内安装)

如果还没有Ubuntu虚拟机,可以参考之前的文章快速创建。

2.3 动手搭建:从零到可访问的Web服务

1. 在虚拟机中安装必要软件

打开Ubuntu终端,执行:

2. 编写一个最简单的Flask应用

创建项目目录和文件:

输入以下代码:

按 Ctrl+X 保存退出。

3. 测试Flask应用

python3 app.py

此时Flask会在虚拟机内监听5000端口。在虚拟机内打开浏览器访问 http://127.0.0.1:5000 应该能看到页面。按 Ctrl+C 停止。

4. 配置Nginx作为反向代理

Flask自带的服务器不适合生产环境,我们用Nginx来代理:

写入文件内容:

启用配置并重启Nginx:

5. 让Flask在后台运行

6. 在Windows浏览器中访问

查看Ubuntu虚拟机的IP地址:ip addr show(通常类似 192.168.x.xxx)

dev@ubuntu-dev:~/app_install$ ip addr show

1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000

link/loopback00:00:00:00:00:00 brd 00:00:00:00:00:00

inet127.0.0.1/8 scope host lo

valid_lftforever preferred_lft forever

inet6::1/128 scope host 

valid_lftforever preferred_lft forever

2: enp0s3:mtu 1500 qdisc fq_codel state UP group default qlen 1000

link/ether08:00:27:d4:aa:77 brd ff:ff:ff:ff:ff:ff

inet192.168.5.228/24 brd 192.168.5.255 scope global dynamic noprefixroute enp0s3

valid_lft84603sec preferred_lft 84603sec

inet6fe80::c7c0:e848:45a8:7a90/64 scope link noprefixroute 

valid_lftforever preferred_lft forever

以上实测,192.168.5.228为虚拟机的ip地址。

在Windows浏览器输入:http://192.168.5.228

页面如下:

大功告成! 我们在虚拟机里成功搭建了一个Web服务,并通过物理机访问。这就是典型的“客户端-服务器”模型——虚拟机充当服务器,Windows是你的开发机/客户端。

2.4 虚拟化带来的三大学习红利

1. 零成本试错

想试试用Django替代Flask?直接在虚拟机里 pip install django,新建项目,改Nginx配置——搞砸了?删掉整个项目重来,或者直接恢复到之前的快照,物理机毫发无损。

2. 模拟真实部署环境

公司里的生产服务器大多是Linux,通过虚拟机提前熟悉Linux命令、Nginx配置、防火墙设置,能让你在工作中更快上手。

3. 多版本并存

需要同时维护Python 3.7和3.10的项目?开两个虚拟机,各装一个版本,需要哪个启动哪个,环境永不冲突。

2.5 进阶玩法:把虚拟机变成你的“私有云”

当你熟悉了基础搭建后,可以尝试:

数据库:在虚拟机里安装MySQL/PostgreSQL,让Flask应用连接数据库

域名:修改Windows的hosts文件,给虚拟机IP配个假域名(如 myweb.local)

HTTPS:用 mkcert 生成自签名证书,配置Nginx启用HTTPS

自动化部署:写一个简单的shell脚本,一键拉取代码、重启服务

这些都是在实际开发中必用的技能,而虚拟机就是你最安全、最廉价的练兵场。

三、小结

很多人觉得虚拟化是运维的事,跟Python开发无关。但通过今天的实践,我们感受到:虚拟机就是个人开发者的“私有云”——它让你在一台电脑上体验完整的服务器环境,学习网络配置、系统管理,同时又不影响日常使用。

让我们保持学习热情,多做练习。我们下期再见!

最新文章

随机文章