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

相关推荐
skywalk816312 分钟前
install fcitx chinese input at FreeBSD14.1
运维·服务器·freebsd
小羊在奋斗19 分钟前
【Linux】包管理器、vim详解及简单配置
linux·运维·vim
CS_素锦少年27 分钟前
Linux_kernel字符设备驱动12
linux·运维·服务器
NineOne_豆浆狂魔31 分钟前
Linux 缓冲区
linux·服务器·c
风清扬_jd35 分钟前
Chromium 硬件加速开关c++
java·前端·c++
陈序缘1 小时前
Go语言实现长连接并发框架 - 消息
linux·服务器·开发语言·后端·golang
mysql学习中1 小时前
Linux的环境变量
linux·运维·服务器·tcp/ip·centos
BXS_null1 小时前
JWT集成Keycloak
运维·服务器
谢尔登1 小时前
【React】事件机制
前端·javascript·react.js
it00zyq2 小时前
Linux网络编程
linux·网络