🚀不用花钱买云服务器,用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

相关推荐
Json_1817901448018 分钟前
电商拍立淘按图搜索API接口系列,文档说明参考
前端·数据库
我言秋日胜春朝★33 分钟前
【Linux】进程地址空间
linux·运维·服务器
风尚云网41 分钟前
风尚云网前端学习:一个简易前端新手友好的HTML5页面布局与样式设计
前端·css·学习·html·html5·风尚云网
木子020444 分钟前
前端VUE项目启动方式
前端·javascript·vue.js
GISer_Jing1 小时前
React核心功能详解(一)
前端·react.js·前端框架
捂月1 小时前
Spring Boot 深度解析:快速构建高效、现代化的 Web 应用程序
前端·spring boot·后端
繁依Fanyi1 小时前
简易安卓句分器实现
java·服务器·开发语言·算法·eclipse
C-cat.1 小时前
Linux|环境变量
linux·运维·服务器
深度混淆1 小时前
实用功能,觊觎(Edge)浏览器的内置截(长)图功能
前端·edge
Smartdaili China1 小时前
如何在 Microsoft Edge 中设置代理: 快速而简单的方法
前端·爬虫·安全·microsoft·edge·社交·动态住宅代理