🚀不用花钱买云服务器,用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 WorstationUbuntu 系统安装好以后应该如下效果,安装过程就不展示,如果遇到问题的看官可以留言讨论

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

相关推荐
jerry-893 分钟前
通过配置核查,CentOS操作系统当前无多余的、过期的账户;但CentOS操作系统存在共享账户r***t
linux
qq_3927944814 分钟前
前端缓存策略:强缓存与协商缓存深度剖析
前端·缓存
小歆88423 分钟前
100%全国产化时钟服务器、全国产化校时服务器、全国产化授时服务器
运维·服务器
hgdlip31 分钟前
IP属地与视频定位位置不一致:现象解析与影响探讨
服务器·网络·tcp/ip
小美的打工日记1 小时前
ES6+新特性,var、let 和 const 的区别
前端·javascript·es6
涛ing1 小时前
21. C语言 `typedef`:类型重命名
linux·c语言·开发语言·c++·vscode·算法·visual studio
0xfather1 小时前
在Debian系统中安装Debian(Linux版PE装机)
linux·服务器·debian
helianying551 小时前
云原生架构下的AI智能编排:ScriptEcho赋能前端开发
前端·人工智能·云原生·架构
@PHARAOH1 小时前
HOW - 基于master的a分支和基于a的b分支合流问题
前端·git·github·分支管理
workingman_li1 小时前
centos虚拟机异常关闭,导致数据出现问题
linux·运维·centos