当前位置: 首页 > article >正文

PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1

前言

最近在基于 NodeJS V22 写一个全栈的项目,写好了,当然需要配置服务器部署啦。这个过程对于熟手来说,还是不复杂的,但是对于很多新手来说,可能稍微有点困难。所以,我把整个过程全部记录一下。

熟悉我博客的朋友知道,我一直是使用 CentoOS 操作系统的。只是由于 RedHat 的一些骚操作,我感觉还是另投别家比较好,选择服务器的操作系统,一定要选择主流的,这样在需要帮助的时候,更容易获得资料。

而现在,我选择的是 Ubuntu V24.04.2 LTS 这个版本。一定要注意的是,我们要选择 LTS 的版本,这表示,这是一个受到长期支持的版本。

下载 Ubuntu V24 Serve 系统镜像

我们可以去官方网站下载 https://ubuntu.com/download/server

Ubuntu官网下载
但是,我更推荐大家去阿里云下载,速度会更快一些。

阿里云开源镜像站: https://developer.aliyun.com/mirror/

阿里云下载 Ubuntu 镜像文件
下载好系统镜像文件备用。

上传镜像文件到 PVE
登录 PVE 管理后台,在菜单里点击 local ,在出现的子菜单里点击 IOS 镜像,然后点击 上传按钮,把我们刚刚下载的镜像给上传进去即可。

PVE 虚拟主机设置

由于我自己使用的是苹果芯片的 Mac 系统,所以在我机器上安装的虚拟主机只支持 arm 架构的系统。而我们正常在云服务商那边购买的主机,是 x86-64 的架构(也就是 amd64架构),所以,我在我本机虚拟机安装 Ubuntu 没有啥参考意义,因此,我选择在我的软路由的 PVE 系统上,安装一个 Ubuntu 的系统以供我使用。

具有我这个环境的可以参考,如果不具备我这个环境,可以使用其他的虚拟机软件来安装,没啥本质区别。

创建虚拟机

  1. 创建一个虚拟机,输入虚拟机的名称,我这边输入的是 UbuntuTest 然后点击下一步。

选择镜像文件

  1. 选择镜像文件,就是我们刚刚下载的系统镜像。
  2. 在系统界面啥都不改,直接点下一步。

磁盘界面
4. 根据实际情况,在磁盘界面,输入你希望的磁盘大小,我这边是 32G 足够使用,我们点下一步。

CPU设置界面
5. CPU 设置界面,类别,我们选择 HOST,核心我们设置为 2 核心。根据宿主机的实际配置进行微调即可。

内存设置界面

  1. 在内存设置界面里,我把内存调整为 4096 也就是4个G 的内存。
    网络设置界面

  2. 在网络设置界面,保持默认,默认配置是桥接一个虚拟网卡。我们点击下一步。

确认设置界面

最后我们在确认界面可以看到我们之前的所有配置,确认没问题,点击完成,就创建好了我们的虚拟机了。

虚拟机创建完成

Ubuntu 系统安装

在 PVE 左侧,我们点击我们刚刚创建的主机,就可以看到我们的虚拟主机概要了。我们点击子菜单的控制台,即可进入系统安装的过程。

虚拟机控制台
我们进入控制台后,点击 Start Now 开始系统安装

Ubuntu 菜单界面

进入菜单界面后,我们选择 Try or Install Ubuntu Server 项,直接回车,即可进入加载跑码阶段。

Ubuntu 语言选择界面
在跑码完成后,就进入到了 Ubuntu 语言选择界面,我们这里选择英语,然后回车。

键盘设置

键盘设置,我们也选择英语(也就是保持默认)回车。

Ubuntu 安装类型选择

在 Ubuntu 安装类型选择界面,我们选择 Ubuntu Server minimized 也就是最小化的模式进行安装。我们按 Tab 键进行焦点的切换,到 minimized 掐面的括号内,我们按空格确认,然后,继续 按Tab键 切换到 Done 上,回车。

Ubuntu 网络设置界面
然后就是 Ubuntu 网络设置界面了,这边,我们可以看到已经自动分配了一个IP,这里,我不想用这个自动分配的 IP,所以,需要编辑一下,按 Tab 键 将焦点切换到网卡上,按空格呼出菜单

网卡编辑菜单
在网卡编辑菜单,我们选择 Edit IPv4 ,按空格确认

IP设置
现在是自动获取 DHCP,我们按空格呼出菜单

IP设置菜单

进入菜单界面,我们选择 Manual,手动配置,按空格确认。

IP 网络配置
Subnet 是网段的意思,我这边网段是 192.168.8.0-255,所以我这边填写的是 192.168.8.0/24 。

有些人说着是子网掩码,不是的哈,子网掩码是 255.255.255.0 这样滴东西

IP地址和 IP网关,一眼就能看明白。

但 Name Servers 可能看不懂,这个其实是填写 DNS 服务器的IP,我这边填写了谷歌的两个DNS服务器地址。

最后那个玩意儿留空,最后 Tab 键到 Save 上,回车确认。

回头网络配置界面,我们 Tab 到 Done 上回车,进入下一个界面。

网络代理配置

下一个界面是网络代理配置,这里,我们不需要配置,直接回车进入下一个界面。

系统源地址配置

OK,这里是最坑的哈!注意!千万不要手快回车,否则,安装过程中卡死你。

这里是 系统源地址配置,默认配置的是 Ubuntu 官方的源地址,但是在国内访问官方的源的速度非常慢,所以这里一定要改成国内源的地址。

我推荐阿里云的源地址: https://mirrors.aliyun.com/ubuntu/

Tab 键到文本框,del 或 backspace 键删除原有内容,然后手动输入上面的网址,然后 Tab 键切换焦点,随后会加载阿里源的信息,速度很快。

切换到 Done 回车,进入下一步。

系统安装位置设置
然后是系统安装位置,我们这里不做调整,就是直接安装在我们一开始设置的虚拟机的硬盘上,Tab 切换焦点到 Done 回车进入下一步。

分区信息
这里是它计划的分区信息,一般情况下,不需要调整,我们直接 Done 下一步。

格式化硬盘警告

然后进入到了确认格式化硬盘的弹窗,我们方向键移动到 Continue 上回车,嘿嘿,还标红吓唬咱嘞。

账号信息设置
下一个界面是账号设置,根据自己的情况填写

专业服务选择
这里提示是否需要专业服务,我们选择 Skip for now

然后焦点在 Continue 上回车

安装 SSH
这里,是安装 SSH 界面,我们用空格键选上,然后下面可以导入 SSH KEY,这里我们先跳过,直接进入下一步。

SSH 服务特别重要,只有安装了这个服务,我们才能远程访问虚拟机。

Tab 到 Done 上按回车。

一些包的选择
这里提供一些库,可以在安装系统的同事安装进去,这里,我们不选择任何内容,Tab 到 Done 上按回车进入下一步。

安装过程

然后就进入了安装过程了,下面开始转圈圈,如果你想看看发生了什么,可以将焦点切换到 View full log 按回车查看。

安装完成

跑码结束后,就安装完成了,我们将焦点 tab 到 Reboot now 上重启系统。

系统启动跑码

重启时,会跑码,虽然看不懂,但是觉得很帅。

登录界面

然后就进入到了系统登录界面了,我们输入用户名回车,然后输出密码回车,就可以进入系统了。

输入密码时,界面不会有任何变化,不用管,只管输入,然后回车即可。

进入系统

OK,然后我们就进入系统了。这篇文章应该图片占据了巨大的篇幅,有点过长了,我们这里先关机。

# 关机命令
shutdown now

PVE 虚拟机的收尾设置

移除光盘驱动器

关机后,我们点击 硬件 的菜单,然后点击 CD/DVD 驱动器,然后点击 移除 按钮,移除光驱。

确认移除光驱
我们点击

启动顺序
去除网络启动
设置启动顺序,只保留硬盘启动即可。

小结

本文是基于 PVE 来进行安装 Ubuntu v24 server 系统的。可能大多数人用不到 PVE 系统吧,但是中间部分的 Ubuntu 安装是一样的。

明儿我继续后面的内容,计划是写如下:

《PVE虚拟机 安装 Ubuntu Server 系统》
《SSH 配置,让我们远程连上虚拟机》
《服务器软件更新,以及常用软件安装》
《配置服务器终端环境 zsh , oh my zsh, vim》
《NVM 安装 NodeJS环境,以及 PNPM 的安装》
《Nginx 和 Mysql 的安装和配置》
《pm2 服务端进程管理的使用和配置》

等等,当然,如果各位看官有想看的内容,也可以在评论区留言,我可以安排上。

如果本文对各位看官有点增益,一定要收藏点赞留言,多多关注哦!

相关文章:

PVE 虚拟机安装 Ubuntu Server V24 系统 —— 一步一步安装配置基于 Ubuntu Server 的 NodeJS 服务器详细实录1

前言 最近在基于 NodeJS V22 写一个全栈的项目,写好了,当然需要配置服务器部署啦。这个过程对于熟手来说,还是不复杂的,但是对于很多新手来说,可能稍微有点困难。所以,我把整个过程全部记录一下。 熟悉我…...

GitHub 趋势日报 (2025年06月03日)

📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 2404 onlook 860 system-design-primer 380 nautilus_trader 372 agent-zero 357 …...

出现dev/nvmeOnip2 contains a file system with errors, check forced 解决方法

目录 前言1. 问题所示2. 原理分析3. 解决方法4. 彩蛋前言 爬虫神器,无代码爬取,就来:bright.cn Java基本知识: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新)1. 问题所示 出现如下问题: dev/nvmeOnip2 co…...

Vue3.5 企业级管理系统实战(二十二):动态菜单

在前几篇内容中已完成菜单、角色及菜单权限等相关开发,若要在左侧菜单根据用户角色动态展示菜单,需对 Sidebar 中的相关数据进行修改。鉴于其他相关方法及类型已在前文实现,本文不再重复阐述。 1 修改 Sidebar 组件 在 src/layout/componen…...

磨皮功能 C++/C的OpenCV 实现

磨皮功能 C/C的OpenCV 实现 前提条件 OpenCV 安装&#xff1a; 你需要正确安装 OpenCV 库。C 编译器&#xff1a; 如 G。 C 代码 #include <opencv2/opencv.hpp> #include <iostream> #include <string>// 使用标准命名空间 using namespace std; using …...

蓝牙防丢器应用方案

蓝牙防丢器通常由两个主要部分构成&#xff1a;一个小型装置&#xff0c;亦称为标签&#xff0c;以及一个与之配对的手机应用程序。该标签内置一个微型蓝牙芯片&#xff0c;能够与配对的手机应用程序进行通信。一旦标签与手机之间的连接中断&#xff0c;手机应用程序便会接收到…...

TDengine 开发指南——高效写入

高效写入 本章内容将介绍如何发挥 TDengine 最大写入性能&#xff0c;通过原理解析到参数如何配置再到实际示例演示&#xff0c;完整描述如何达到高效写入。 为帮助用户轻松构建百万级吞吐量的数据写入管道&#xff0c;TDengine 连接器提供高效写入的特性。 启动高效写入特性…...

Linux kill 暂停命令

暂停进程 kill -19 在一台服务器上部署了360Pika服务&#xff0c;先用RedisClient连接一下&#xff0c;可以连接 现在暂停进程 暂停后发现再次连接无法连接 恢复进程 kill -18 恢复后可连接...

Unity与Excel表格交互热更方案

在Unity中实现与Excel表格的交互并支持热更是许多游戏开发中的常见需求。以下是几种实现方案&#xff1a; 1. 使用ScriptableObject存储表格数据 实现步骤&#xff1a; 将Excel表格导出为CSV格式 编写编辑器脚本将CSV数据导入到ScriptableObject 在运行时通过Resources或Ad…...

LVS、NGINX、HAPROXY的调度算法

目录 一、LVS&#xff08;Linux Virtual Server&#xff09;调度算法 &#xff08;一&#xff09;静态调度算法 &#xff08;二&#xff09;动态调度算法 二、NGINX调度算法 &#xff08;一&#xff09;内置调度算法 &#xff08;二&#xff09;第三方模块支持的调度算法…...

C++ 使用 ffmpeg 解码本地视频并获取每帧的YUV数据

一、简介 FFmpeg 是一个‌开源的多媒体处理框架‌&#xff0c;非常适用于处理音视频的录制、转换、流化和播放。 二、代码 示例代码读取一个本地视频文件&#xff0c;解码并将二进制文件保存下来。 注意&#xff1a; 代码中仅展示了 YUV420P 格式&#xff0c;其他 NV12/NV2…...

分布式微服务系统架构第143集:pom文件

加群联系作者vx&#xff1a;xiaoda0423 仓库地址&#xff1a;https://webvueblog.github.io/JavaPlusDoc/ https://1024bat.cn/ https://github.com/webVueBlog/fastapi_plus https://webvueblog.github.io/JavaPlusDoc/ ✅ 各字段说明及是否可改 字段名说明是否可修改修改建议…...

2.0 阅读方法论与知识总结

引言 本文将详细分析考研英语阅读做题步骤&#xff0c;并对方法论进行总结&#xff0c;最后通过真题练习巩固方法。 一、做题步骤 所有技巧都建立在精读真题的基础上&#xff01;建议按以下节奏复习&#xff1a; 1️⃣ 做题 先看题干了解文章大致主旨&#xff08;看看有没有…...

5. Qt中.pro文件(1)

本节主要讲.pro文件的作用和一些相关基础知识与操作。 本文部分ppt、视频截图原链接&#xff1a;[萌马工作室的个人空间-萌马工作室个人主页-哔哩哔哩视频] 1 PRO文件 1.1 pro文件作用 添加需要用到的QT模块&#xff0c;如通过QT module_name来添加需要用到的Qt模块。指定生…...

第八部分:第三节 - 事件处理:响应顾客的操作

用户与界面的互动是通过事件触发的&#xff0c;比如点击按钮、在输入框中输入文本、提交表单等。React 提供了一套跨浏览器的事件系统&#xff0c;让我们可以在组件中方便地处理这些事件。这就像点餐系统需要能够识别顾客的各种操作&#xff08;按键、滑动屏幕&#xff09;并作…...

共识机制全景图:PoW、PoS 与 DAG 的技术对比

目录 共识机制全景图&#xff1a;PoW、PoS 与 DAG 的技术对比 &#x1f9f1; 一、工作量证明&#xff08;PoW&#xff09; 原理概述 优点 缺点 示例代码&#xff08;Python&#xff09; &#x1f4b0; 二、权益证明&#xff08;PoS&#xff09; 原理概述 优点 缺点 …...

学习笔记085——Spring Data JPA笔记

1、什么是Spring Data JPA&#xff1f; Spring Data JPA 是 Spring 框架的一个子项目&#xff0c;它简化了基于 JPA (Java Persistence API) 的数据访问层的实现。它通过减少样板代码和提供默认实现&#xff0c;让开发者能够更快速地构建数据访问层。 1.1、主要特点 减少样板…...

可视化大屏工具对比:GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana

可视化大屏工具对比&#xff1a;GoView、DataRoom、积木JimuBI、Metabase、DataEase、Apache Superset 与 Grafana 在当今数据驱动的业务环境中&#xff0c;可视化大屏已成为企业展示数据洞察的重要工具。本文将从功能、部署、分享、参数化大屏四个维度对主流可视化大屏工具进…...

内网穿透:打破网络限制的利器!深入探索和简单实现方案

在如今这个数字化时代&#xff0c;网络已经成为我们生活和工作中不可或缺的一部分。但你是否遇到过这样的困扰&#xff1a;在家办公时&#xff0c;想要访问公司内部的文件服务器&#xff0c;却因为网络限制无法连接&#xff1b;搭建了一个炫酷的个人网站&#xff0c;却只能在自…...

如何选择合适的哈希算法以确保数据安全?

在当今数据爆炸的时代&#xff0c;从个人身份信息到企业核心商业数据&#xff0c;从金融交易记录到医疗健康档案&#xff0c;数据已然成为数字世界的核心资产。而哈希算法作为数据安全领域的基石&#xff0c;犹如为数据资产配备的坚固锁具&#xff0c;其重要性不言而喻。然而&a…...

简数采集技巧之快速获取特殊链接网址URL方法

简数采集器列表页提取器的默认配置规则&#xff1a;获取a标签的href属性值作为采集的链接网址&#xff0c;对于大部分网站都是适用的&#xff1b; 但有些网站不使用a标签作为链接跳转&#xff0c;而用javascript的onclick事件替代&#xff0c;那列表页提取器的默认规则将无法获…...

React 性能监控与错误上报

核心问题与技术挑战 现代 React 应用随着业务复杂度增加&#xff0c;性能问题和运行时错误日益成为影响用户体验的关键因素。没有可靠的监控与错误上报机制&#xff0c;我们将陷入被动修复而非主动预防的困境。 性能指标体系与错误分类 关键性能指标定义 // performance-me…...

AI 如何改变软件文档生产方式?

现代软件工程中的文档革命&#xff1a;从附属品到核心组件的范式升级 在数字化转型浪潮席卷全球的当下&#xff0c;软件系统的复杂度与规模呈现指数级增长。据Gartner最新研究显示&#xff0c;超过67%的企业软件项目延期或超预算的根本原因可追溯至文档系统的缺陷。这一现象在…...

激光干涉仪:解锁协作机器人DD马达的精度密码

在工业4.0的浪潮中&#xff0c;协作机器人正以惊人的灵活性重塑生产线——它们与工人并肩作业&#xff0c;精准搬运零件&#xff0c;完成精密装配。还能协同医生完成手术&#xff0c;甚至制作咖啡。 标准的协作机器人关节模组由角度编码器、直驱电机(DD马达)、驱动器、谐波减速…...

Windows如何定制键盘按键

Windows如何定制键盘按键 https://blog.csdn.net/qq_33204709/article/details/129010351...

go语言学习 第1章:走进Golang

第1章&#xff1a;走进Golang 一、Golang简介 Go语言&#xff08;又称Golang&#xff09;是由Google的Robert Griesemer、Rob Pike及Ken Thompson开发的一种开源编程语言。它诞生于2007年&#xff0c;2009年11月正式开源。Go语言的设计初衷是为了在不损失应用程序性能的情况下…...

使用Prometheus+Grafana+Alertmanager+Webhook-dingtalk搭建监控平台

一、监控平台介绍 1.监控平台简述普罗米修斯四件套,分别为Prometheus、Grafana、Alertmanager、Webhook-DingTalk。Prometheus一套开源的监控&报警&时间序列数据库的组合,由SoundCloud公司开发,广泛用于云原生环境和容器化应用的监控和性能分析。其提供了通用的数据…...

HOPE800系列变频器安装到快速调试的详细操作说明

以下是HOPE800系列变频器从安装到调试的详细操作说明及重要参数设置&#xff0c;适用于工程技术人员或具备电气基础的操作人员。请严格遵循安全规范操作。 以下面电机铭牌为例&#xff1a; HOPE800变频器安装与调试指南** &#xff08;安全第一&#xff01;操作前务必断电并确…...

vCenter与ESXi主机每分钟周期性断连修复

问题概述 最近我的测试服务器借给客户用作临时中转&#xff0c;仅更改了ESXi的管理IP&#xff0c;设备拿回来改回原来IP&#xff0c;vCenter开启后重新接收证书&#xff0c;主机和所有VM管理运行正常&#xff0c;跑着跑着发现主机和vCenter会频繁断开连接后又马上自动恢复&…...

JMeter函数整理

"_csvRead"函数 csvRead函数是从外部读取参数&#xff0c;csvRead函数可以从一个文件中读取多个参数。 下面具体讲一下如何使用csvread函数&#xff1a; 1.新建一个csv或者text文件&#xff0c;里面保存要读取的参数&#xff0c;每个参数间用逗号相隔。每行表示每一组…...