🚀不用花钱买云服务器,用Ubuntu在内网搭建小工具平台

前言

在公司前端团队成员日常有时会做小工具以解决工作中的一些问题,这些小工具有时候需要分享互相看下,页面性质的需要在浏览器中进行,之前都是在企业微信里发来发去,然后再启动 http-server 服务的方式查看,后来就想着能不能弄个专门的内网服务器部署起来,这样就不用把代码源文件传来传去还得手动运行的方式的查看了

思路

由于不是什么收费的服务,就团队中这么几个人互相看着用,而且只在公司的时候才会用这些工具,因此也没必要单独付费弄个云服务器去管理,想的是本地用虚拟机运行一个 Linux 系统当内网服务器,把前端的小工具部署起来,日常的一些服务端的东西也能远程连接进行测试,这样又能用 Win11 日常办公开发,又能用 Linux 练练部署服务相关的能力

为什么选择 Ubuntu

因为 Ubuntu 有简洁漂亮的界面,交互友好,大部分工具也都支持(如 VSCode, WPS...),又能直接使用 Terminal 进行 Linux 纯命令操作,岂不美哉?

硬件配置和软件版本

  • 物理机系统:Windows11家庭中文版
  • 系统类型:64位
  • 机带 RAM:32.0GB
  • 处理器:12th Gen Intel(R) Core(TM) i5-12400 2.50 GHz
  • 硬盘:1T
  • 虚拟机管理软件:VMware® Workstation 17 Pro
  • 虚拟机:Ubuntu22.04.3LTS

Win10及以上版本系统也可以使用 Hyper-V 管理虚拟机,但是这个东西需要 企业版、专业版或教育版 才支持

在 Windows 10 上启用 Hyper-V | Microsoft Learn

安装并运行虚拟机

配置网络适配器

网络连接选择 桥接模式(B),勾选 复制物理网络连接状态

注意!

这里经过我的测试,如果选择其他网络连接模式,在物理机上无法访问虚拟机中的Web服务

虚拟机安装成功

VMWare Worstation 和 Ubuntu 系统安装好以后应该如下效果,安装过程就不展示,如果遇到问题的看官可以留言讨论

Ubuntu 系统安装好以后,个人可以直接使用了,此时无法提供给团队其他小伙伴使用,因此需要加个远程能力

远程桌面设置

由于是纯内网使用,因此可以使用 XRDP (www.xrdp.org/) 进行远程访问,好装也好用,以下命令操作全部在 Ubuntu 中进行

更新apt数据源

bash 复制代码
sudo apt update

安装 XRDP

bash 复制代码
sudo apt install xrdp

以上步骤执行完以后重启 Ubuntu 系统,重新登录系统,查看ip

查看ip

bash 复制代码
ifconfig

这里的 10.100.23.43 就是 Windows 系统中的远程桌面连接的地址

注意!

默认这个IP每次重启后都会自动变,如果需要固定IP需单独处理一下

在 Settings -> Sharing 中设置允许远程桌面

将系统设置为注销待登录状态,开始进行远程桌面连接

Windows使用远程桌面连接

Session 选择 Xorg

远程连接输入Ubuntu系统设置的用户名密码就可以了,连接成功后应该是如下效果

这个默认是 Xfce 桌面主题,并不是 Ubuntu22 系统默认的 GNOME,到这里就能远程桌面访问操作了,主题虽然变了,该有的东西都有

多人访问的问题

多用户下使用同一个账号登录会互相顶掉

需要设置多个管理员账户,解决远程连接问题

设置其他管理员用户,桌面远程连接主题应用的就是 GNOME

配置前端站点,内网访问

虚拟机中使用 nginx 部署前端服务

虚拟机中的地址为 172.17.0.1:8081

物理机访问虚拟机的Web服务

使用 http://10.100.23.43:8081/ 访问

注意!

虚拟中默认使用 80 端口部署的服务,默认只能在个人电脑的物理机中访问,公司内网其他人无法访问,需要单独设置防火墙的端口的出入站规则

设置系统重启后子启动(无效)

Windows11 设置 VMWare 自启动

将 VMware 自动启动服务配置为自动启动类型,请执行以下步骤: 单击 开始 > 运行 。 键入 services.msc 从服务列表中,右键单击 VMware 自动启动服务,然后单击属性

在服务中设置 VMWare 相关服务自启动

VMWare Workstation 配置自动启动虚拟机

文件 - 配置自动启动虚拟机

首次设置可能会提示 无法更新"自动启动"配置。

在 C:\ProgramData\VMware\VMware Workstation 目录下找到 vmautostart.xml 文件,设置可写权限即可

小结

以上操作设置完以后 VMWare 服务自动起来了,但是软件没运行起来,折腾了一圈也暂时无解,这方面有了解的看官欢迎留言讨论交流

扩展思考

关于连接服务器也能使用 SSH 的形式,由于我们主要是前端人员在操作,更喜欢使用界面的形式,就没有配置

使用 ssh 连接远程服务器

总结

用工程师思维解决实际问题,吭哧吭哧好几天的研究各种安装重启测试,最后还是有一丝成就感的,当然,我们遇到的这个问题也有其他解决方案,或者更优的解决方案,由于能力和认知有限,不好的地方,敬请谅解

欢迎大家讨论交流,如果文章感觉有用,随手点个赞再走呗 ^_^ 🥰🥰

微信公众号:草帽Lufei

相关推荐
变与不变8062 小时前
jQuery怎么使用
前端·javascript
神膘护体小月半2 小时前
flex 布局的 order 属性
前端·css
paopaokaka_luck2 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.2 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子2 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常2 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
小码哥_常2 小时前
你发的原图可能暴露你家地址——聊聊图片 EXIF 隐私
前端
java1234_小锋2 小时前
【技术专题】CSS3 网页技术 - CSS3 优先级
前端·css·css3
2601_949847753 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906943 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端