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

Spring_couplet_generation 服务器运维:Ubuntu 20.04系统安装与初始化

Spring_couplet_generation 服务器运维Ubuntu 20.04系统安装与初始化为你的AI应用准备一个稳定、安全的基础环境是成功的第一步。今天我们就来手把手完成Ubuntu 20.04 LTS系统的安装与初始化配置。无论你是刚拿到一台全新的物理服务器还是准备在云服务器上重装系统这篇教程都能帮你从零开始搭建一个为后续部署Spring_couplet_generation等AI应用量身定制的“地基”。整个过程就像装修房子我们先打好地基、建好框架、做好安全防护后续安装Docker、Python环境就会顺畅无比。跟着步骤走即使你是第一次接触服务器运维也能轻松搞定。1. 准备工作获取安装镜像与启动介质在开始安装之前我们需要准备好“安装盘”。对于物理服务器通常需要制作一个U盘启动盘对于云服务器服务商一般会提供镜像直接选择安装。1.1 下载官方Ubuntu 20.04 LTS镜像首先访问Ubuntu官方网站的下载页面。我建议选择长期支持版LTS因为它能获得长达5年的安全更新和维护非常适合作为生产环境的基础系统。找到Ubuntu 20.04 LTS的下载链接选择“服务器安装程序”版本。这个版本没有图形界面更轻量资源占用更少对服务器来说正合适。文件大小大约在1GB左右下载速度取决于你的网络。1.2 制作U盘启动盘物理服务器适用如果你是在自己的物理服务器上安装下载完ISO镜像文件后需要把它“烧录”到一个U盘里。你需要一个容量至少8GB的U盘制作过程会清空U盘里的所有数据所以请提前备份。在Windows上你可以使用Rufus这款免费小工具。打开Rufus插入U盘软件会自动识别。然后点击“选择”按钮找到你刚才下载的Ubuntu 20.04 ISO文件。其他设置保持默认即可点击“开始”按钮等待制作完成。在macOS或Linux上可以使用dd命令或者Etcher这类图形化工具操作同样简单直观。制作完成后你就拥有了一个可以引导服务器启动的安装U盘。1.3 云服务器镜像选择如果你使用的是阿里云、腾讯云、华为云等云服务商事情就简单多了。通常在创建云服务器实例时可以直接在镜像市场中选择“Ubuntu 20.04 LTS”版本。云服务商已经帮你做好了镜像优化直接选用即可省去了制作启动盘的步骤。2. 启动并安装Ubuntu 20.04系统现在让我们进入正式的安装环节。将制作好的U盘插入服务器或者启动云服务器实例准备开始安装。2.1 引导启动与语言选择开启服务器电源并进入BIOS/UEFI设置界面通常按F2、F12、Delete等键具体看服务器提示将启动顺序设置为优先从U盘启动保存并重启。服务器会从U盘启动进入Ubuntu安装界面。第一个界面是语言选择为了减少后续可能出现的编码问题建议直接选择“English”。然后选择“Install Ubuntu Server”开始安装。2.2 键盘布局与网络配置接下来选择键盘布局。如果你的键盘是美式键盘直接选择“English (US)”即可。安装程序可能会自动配置网络如果服务器连接了网线并支持DHCP它会自动获取IP地址。这一步我们暂时可以快速通过更详细的网络配置我们会在系统安装完成后进行。2.3 磁盘分区关键步骤这是安装过程中比较重要的一步我们需要告诉系统把Ubuntu安装到哪个硬盘上。对于新手或单盘服务器最简单的方法是选择“Use an entire disk”并选中你的目标硬盘比如/dev/sda然后让安装程序自动配置分区。它会帮你创建必要的/根分区和swap交换分区省心省力。对于有经验的用户或需要自定义可以选择“Manual”手动分区。一个常见的简单方案是根分区 (/) 用于安装系统和所有软件分配剩余的大部分空间文件系统建议用ext4。交换分区 (swap) 相当于虚拟内存大小通常设置为物理内存的1到2倍。例如如果你的服务器有8GB内存可以分配8-16GB给swap。分区完成后确认写入磁盘这个过程会格式化硬盘请再次确认硬盘上没有重要数据。2.4 用户与主机名设置现在来设置服务器的基础信息你的姓名 可以填写你的名字或昵称例如admin。服务器名称 给你的服务器起个名字比如ai-server、spring-couplet。这个名字会显示在命令行提示符和网络上。用户名 这是你登录系统时用的账号例如ubuntu或deploy。密码 为上述用户设置一个强密码。请务必牢记这个密码它是你后续通过SSH登录的凭证。为了安全密码最好包含大小写字母、数字和特殊符号。2.5 安装SSH服务与系统更新在软件选择界面有一个非常重要的选项“Install OpenSSH server”。请务必用空格键勾选它。OpenSSH服务允许我们通过网络远程安全地登录和管理这台服务器这是后续所有运维操作的基础。至于其他软件包如LAMP套件等我们暂时都不需要选保持系统纯净。因为我们后续会通过Docker来部署具体应用这样更灵活、更易于管理。之后安装程序会开始复制文件、安装系统这个过程需要几分钟到十几分钟泡杯茶休息一下。安装完成后它会提示你重启系统。重启前记得拔出U盘物理服务器否则可能会再次进入安装界面。3. 首次登录与基础系统配置系统重启后我们就可以用刚才创建的用户名和密码登录了。但先别急着部署应用我们还需要对系统进行一些重要的初始化设置让它更安全、更好用。3.1 更新系统软件包登录后第一件事就是更新系统。Ubuntu使用APT包管理器运行以下命令来获取最新的软件包列表并升级所有已安装的包sudo apt update sudo apt upgrade -ysudo表示以管理员权限运行第一次使用时会要求输入当前用户的密码。apt update是更新软件源列表apt upgrade是升级所有可升级的软件包-y参数表示对所有的确认提示都回答“是”。这个更新过程可能会持续一段时间取决于网络速度和需要更新的包数量。保持系统最新是安全运维的基本要求。3.2 配置静态IP地址可选但推荐默认情况下服务器通过DHCP动态获取IP这在某些情况下可能导致IP变化不利于我们远程连接。为服务器设置一个静态IP是个好习惯。编辑网络配置文件这里以最常见的netplan为例Ubuntu 18.04之后使用sudo nano /etc/netplan/00-installer-config.yaml你会看到类似下面的内容具体网卡名ens33可能不同可以用ip a命令查看network: ethernets: ens33: dhcp4: true version: 2我们需要把它修改为静态IP配置。假设你的网络网关是192.168.1.1你想给服务器分配192.168.1.100network: ethernets: ens33: addresses: - 192.168.1.100/24 gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] dhcp4: no version: 2addresses: 设置静态IP和子网掩码/24对应255.255.255.0。gateway4: 设置网关地址。nameservers: 设置DNS服务器这里用了谷歌的公共DNS。修改完成后按CtrlX然后按Y再按Enter保存退出。应用新的网络配置sudo netplan apply现在你的服务器就有了一个固定的IP地址。4. 强化SSH安全与防火墙设置服务器暴露在网络上安全是头等大事。我们必须加固SSH这个最重要的入口。4.1 修改SSH默认端口SSH默认使用22端口这是全世界黑客都知道的。修改为一个不常用的高端口号如2222能有效减少自动化攻击脚本的扫描。编辑SSH配置文件sudo nano /etc/ssh/sshd_config找到#Port 22这一行去掉开头的#号并将22改为你想要的端口例如2222Port 22224.2 禁止root用户直接登录使用root用户直接登录风险极高。我们应该禁止它改用普通用户登录后再切换权限。 在同一文件中找到#PermitRootLogin yes修改为PermitRootLogin no4.3 使用密钥对认证强烈推荐密码登录有被暴力破解的风险。使用SSH密钥对公钥和私钥是更安全的方式。原理是把公钥放在服务器上私钥留在你的本地电脑。登录时服务器用公钥挑战你的本地电脑用私钥应答匹配则通过。首先在你的本地电脑比如你的Windows/Mac笔记本生成密钥对如果已有~/.ssh/id_rsa.pub文件可跳过 在本地终端运行ssh-keygen -t rsa -b 4096一路回车即可。然后将公钥上传到服务器。假设你修改后的SSH端口是2222服务器IP是192.168.1.100# 在本地电脑执行 ssh-copy-id -p 2222 your_username192.168.1.100输入一次服务器密码后你的公钥就被传过去了。最后在服务器上配置SSH只允许密钥登录。再次编辑/etc/ssh/sshd_config 找到#PasswordAuthentication yes修改为PasswordAuthentication no PubkeyAuthentication yes完成所有SSH修改后重启SSH服务使其生效sudo systemctl restart ssh重要提醒在关闭当前连接窗口前请务必新开一个终端窗口用新配置指定端口和密钥测试一下是否能成功登录。确认无误后再关闭当前的连接窗口否则配置错误可能导致你永远无法远程登录4.4 配置防火墙UFWUbuntu自带了一个简单的防火墙工具叫UFWUncomplicated Firewall。我们来设置它只开放必要的端口。首先启用UFWsudo ufw enable默认情况下UFW会拒绝所有传入连接允许所有传出连接这很安全。现在我们需要放行我们修改后的SSH端口例如2222sudo ufw allow 2222/tcp如果你后续部署的Spring_couplet_generation应用需要通过某个端口比如80或8080对外提供服务到时候再单独开放sudo ufw allow 80/tcp查看当前防火墙规则sudo ufw status numbered5. 系统优化与后续准备基础安全和网络搞定后我们可以做一些优化并为后续部署铺路。5.1 设置时区确保服务器时间准确对于日志分析等操作很重要。设置时区为亚洲上海时间sudo timedatectl set-timezone Asia/Shanghai可以用date命令检查是否生效。5.2 创建部署专用用户可选但推荐为了进一步隔离权限我们可以创建一个专门用于部署和运行应用的用户比如叫appusersudo adduser appuser按照提示设置密码等信息。然后将这个用户加入到sudo组以便在需要时执行管理员命令sudo usermod -aG sudo appuser后续部署Docker、Python环境或Spring_couplet_generation应用时可以切换到这个用户下操作。5.3 安装基础工具安装一些常用的运维工具会让后续工作更方便sudo apt install -y curl wget git htop net-toolscurl/wget: 下载文件。git: 版本控制克隆代码仓库。htop: 一个强大的、交互式的进程查看器比top更好用。net-tools: 包含ifconfig、netstat等传统网络工具。6. 总结到这里一个为生产环境准备的Ubuntu 20.04 LTS服务器就基本初始化完成了。我们经历了从制作启动盘、安装系统、配置静态网络到加固SSH安全、设置防火墙的全过程。现在这台服务器已经拥有了一个固定的身份IP、一道坚固的大门SSH密钥非默认端口和一堵安全的墙UFW。整个过程看似步骤不少但每一步都是在为服务器的稳定和安全打基础。有了这个干净、安全、配置妥当的系统环境接下来无论是安装Docker来容器化部署你的Spring_couplet_generation应用还是直接配置Python运行环境都会变得非常顺畅。你可以先休息一下用新配置的SSH方式登录服务器感受一下下次我们就可以在这个坚实的地基上开始搭建AI应用了。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

相关文章:

Spring_couplet_generation 服务器运维:Ubuntu 20.04系统安装与初始化

Spring_couplet_generation 服务器运维:Ubuntu 20.04系统安装与初始化 为你的AI应用准备一个稳定、安全的基础环境,是成功的第一步。今天,我们就来手把手完成Ubuntu 20.04 LTS系统的安装与初始化配置。无论你是刚拿到一台全新的物理服务器&a…...

SQL 中 select、from、join、where、group by、having、order by、limit 的执行顺序是什么?

在 SQL 查询中,虽然我们在编写语句时的顺序是 SELECT -> FROM -> JOIN -> WHERE -> GROUP BY -> HAVING -> ORDER BY -> LIMIT,但数据库引擎实际执行的顺序是不同的。 理解这个执行顺序对于优化查询性能、避免逻辑错误(…...

Nano-Banana部署教程:Kubernetes集群中Nano-Banana Studio编排方案

Nano-Banana部署教程:Kubernetes集群中Nano-Banana Studio编排方案 1. 学习目标与价值 你是不是也遇到过这样的场景?作为一名设计师或产品经理,需要向团队展示一款复杂产品的内部结构,或者为一份设计文档制作精美的分解示意图。…...

mPLUG本地VQA效果展示:同一张图不同英文提问(What/How many/Where)对比结果

mPLUG本地VQA效果展示:同一张图不同英文提问(What/How many/Where)对比结果 1. 引言:让图片“开口说话”的智能工具 你有没有想过,给一张图片提问题,让它自己告诉你里面有什么?这听起来像是科…...

RS485接口EMC设计:三级防护与分地系统实战指南

1. RS485接口EMC设计原理与工程实践RS485总线因其多点通信能力、长距离传输特性(理论可达1200米)及较强抗干扰能力,被广泛应用于工业自动化、楼宇控制、电力监控及医疗器械等对可靠性要求严苛的领域。然而,在实际工程部署中&#…...

TinyUSB嵌入式USB协议栈架构与移植实践

1. 项目概述TinyUSB 是一个专为资源受限嵌入式系统设计的开源 USB 协议栈,其核心目标是在保持功能完整性的同时,严格规避传统嵌入式 USB 实现中常见的工程风险:动态内存分配、线程不安全、平台耦合度高、中断上下文逻辑臃肿。该项目由 Ha Tha…...

手机检测模型哪家强?实时手机检测-通用实测效果展示

手机检测模型哪家强?实时手机检测-通用实测效果展示 1. 引言:为什么需要一个好的手机检测模型? 想象一下这样的场景:在一个大型会议或考场里,需要快速识别出谁在使用手机;在工厂的生产线上,需…...

深入解析highway_env:强化学习自动驾驶环境的代码架构与实现

1. highway_env:强化学习自动驾驶的仿真利器 第一次接触highway_env时,我就被它的简洁设计惊艳到了。这个基于Python的开源项目,专门为自动驾驶强化学习研究提供了高度可配置的仿真环境。想象一下,你正在开发一个自动驾驶AI&#…...

DA7280触觉驱动库解析:嵌入式Haptic闭环控制实战

1. DA7280触觉驱动库技术解析:面向嵌入式系统的高精度Haptic控制器集成方案DA7280是Dialog Semiconductor(现为Renesas子公司)推出的高性能、低功耗、IC可编程触觉驱动芯片,专为智能手机、可穿戴设备、工业HMI及IoT终端设计。其核…...

[特殊字符]️cv_resnet101_face-detection_cvpr22papermogface企业落地教程:集成至AI中台人脸分析模块

MogFace 极速智能人脸检测工具企业落地教程:集成至AI中台人脸分析模块 1. 引言:从实验室到生产线的挑战 想象一下,你是一家大型互联网公司的AI中台负责人。每天,来自电商、社交、安防等不同业务线的团队,都会向你提出…...

计算机毕业设计:Python基于协同过滤的小说推荐与书架管理平台 Django框架 数据分析 可视化 协同过滤推荐算法 图书 大数据 机器学习(建议收藏)✅

博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业项目实战8年之久,选择我们就是选择放心、选择安心毕业✌ > 🍅想要获取完整文章或者源码,或者代做,拉到文章底部即可与…...

FaceFusion高清化功能体验:让模糊人脸变清晰的秘密

FaceFusion高清化功能体验:让模糊人脸变清晰的秘密 1. 高清化功能初体验 第一次使用FaceFusion的高清化功能时,我上传了一张十年前的老照片。照片中的人脸因为年代久远已经变得模糊不清,五官细节几乎无法辨认。点击"高清化"按钮后…...

OpenClaw定时任务管理:Qwen3-32B实现每日新闻摘要自动推送

OpenClaw定时任务管理:Qwen3-32B实现每日新闻摘要自动推送 1. 为什么需要自动化新闻摘要 每天早上打开手机,总会被各种新闻推送淹没——科技动态、财经快讯、行业报告……信息过载已经成为现代人的通病。作为一个技术从业者,我发现自己花费…...

MPC-HC功能详解:从基础播放到高级视频调节全攻略

对于一款优秀的多媒体播放器来说,不仅需要有出色的播放性能,还需要有完善易用的功能。 MPC-HC正是这样一款功能全面的轻量级音频、视频播放器,它从诞生之日起就致力于为用户提供最好的播放体验。 MPC-HC的故事始于一位名叫"Gabest&quo…...

嵌入式Linux LED驱动:总线设备模型实战

1. 嵌入式Linux LED驱动实验:总线设备驱动模型实践1.1 实验背景与工程价值LED驱动是嵌入式Linux驱动开发中最基础、最典型的入门案例。其表面功能虽仅限于控制单个GPIO引脚的电平状态,但背后承载着Linux内核驱动架构的核心设计思想——分层、分离与抽象。…...

5分钟搞定Ollama本地大模型:用LiteLLM实现OpenAI API无缝兼容(附完整代码)

5分钟实现Ollama本地大模型与OpenAI API无缝兼容的终极方案 当开发者需要将现有基于OpenAI API的项目迁移到本地大模型时,往往面临接口不兼容、代码重构成本高等痛点。本文将介绍如何利用LiteLLM这一轻量级代理工具,在5分钟内完成从Ollama本地模型部署到…...

先上硬货!用DSP28335搞移相PWM,这事儿新手千万别慌。咱们直接拿官方例程开刀改代码,手把手看看怎么整出12路带移相的方波信号

dsp程序 dsp28335程序,移相程序 程序逻辑清晰,注释清楚,完整工程文件 有6对方波驱动信号,共12路输出,开关频率225k 后两对方波移相90度 开发环境为CCS,适用的DSP型号为TI公司的TMS320F28335 适合新手学习先…...

程序员/小白必看!大模型转行入门全攻略(避坑+方向+就业真相)

这两年,大模型彻底打破了“实验室壁垒”,完成了一场从“高深前沿研究”到“全民可用工具”的蜕变——它不再是只有算法专家才能触碰的领域,而是后端、前端程序员,甚至零基础转行者、应届毕业生手机里的常用辅助工具,更…...

《Foundation 网格系统》

《Foundation 网格系统》 引言 随着互联网技术的飞速发展,网站设计的重要性日益凸显。良好的网站设计不仅能够提升用户体验,还能为企业带来更高的转化率。本文将深入探讨Foundation网格系统,为您解析其特点、应用以及如何有效地运用在网站设计中。 一、什么是Foundation网…...

MVC 控制器:架构之美与实现细节

MVC 控制器:架构之美与实现细节 引言 MVC(Model-View-Controller)是一种软件设计模式,广泛应用于各种编程语言和框架中。它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。本文将深入探讨MVC控制器的概念、作用以及实现细节,帮助读者…...

WwiseUtil:3步掌握游戏音频解包与替换,释放你的创意潜能!

WwiseUtil:3步掌握游戏音频解包与替换,释放你的创意潜能! 【免费下载链接】wwiseutil Tools for unpacking and modifying Wwise SoundBank and File Package files. 项目地址: https://gitcode.com/gh_mirrors/ww/wwiseutil 还在为游…...

Linux实用功能代码集(2) —— 获得机器文件大小和MD5值

在开发中&#xff0c;经常会与文件打交道&#xff0c;而获得文件大小以及MD5值则也是非常常用的功能。下面就给出获取文件大小以及计算其MD5值的代码。代码如下&#xff1a;#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd…...

ONNX模型压缩超快

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 ONNX模型压缩的超快革命&#xff1a;实时部署的加速引擎目录ONNX模型压缩的超快革命&#xff1a;实时部署的加速引擎 引言&#…...

告别越狱!用TrollStore在iOS 15上永久安装任意IPA(保姆级教程)

免越狱革命&#xff1a;TrollStore在iOS 15上的终极安装指南 当iOS用户遇到想安装的第三方应用却受限于系统限制时&#xff0c;传统解决方案往往指向越狱——这一伴随风险的操作如今有了更优雅的替代。TrollStore的出现彻底改变了游戏规则&#xff0c;它像一把瑞士军刀&#x…...

手把手教你用CAST和IF函数解决MySQL DECIMAL字段插入报错(含避坑指南)

深度解析MySQL DECIMAL转换陷阱&#xff1a;从报错修复到安全数值处理实践 引言 在数据库操作中&#xff0c;数据类型转换是最基础却最容易踩坑的环节之一。最近在技术社区频繁出现关于MySQL DECIMAL类型转换的求助帖&#xff0c;特别是"Incorrect DECIMAL value: 0 for c…...

mmdetection 实战:精准获取并可视化各类别AP,深入解析IoU阈值设定

1. 为什么需要精细化分析各类别AP&#xff1f; 在目标检测项目中&#xff0c;我们常常会遇到这样的场景&#xff1a;模型整体mAP&#xff08;平均精度&#xff09;看起来不错&#xff0c;但某些关键类别的检测效果却差强人意。比如在自动驾驶场景中&#xff0c;行人和车辆的检测…...

EKL脚本语言实战:从基础代码到3D建模自动化

1. EKL脚本语言入门指南 第一次接触EKL脚本语言时&#xff0c;我和大多数工程师一样感到困惑。这个在3DEXPERIENCE平台上运行的脚本语言&#xff0c;看起来既不像Python那样灵活&#xff0c;也不像C那样强大。但当我真正开始使用它来自动化3D建模流程时&#xff0c;才发现它的独…...

脉振方波高频注入仿真程序,永磁同步电机高频方波注入。 1,仿真为离散模型,开关频率5k,注入频...

脉振方波高频注入仿真程序&#xff0c;永磁同步电机高频方波注入。 1&#xff0c;仿真为离散模型&#xff0c;开关频率5k&#xff0c;注入频率取开关频率的一半是2.5k。 2&#xff0c;程序在1.5s加载&#xff0c;在4.1s不再注入方波&#xff0c;从波形可以看到低速区可以带载启…...

Python 属性描述符:从原理到 ORM 实践详解

Python 属性描述符&#xff08;Descriptor&#xff09;&#xff1a;从原理到 ORM 实践详解&#xff08;2026 年视角&#xff09; 属性描述符是 Python 中最底层、最强大却最被低估的特性之一。它是 property、classmethod、staticmethod、方法绑定、SQLAlchemy Column、Django…...

两级三相光伏并网逆变器控制Matlab/Simulink仿真模型:MPPT控制有扰动观察法与电...

两级三相光伏并网逆变器控制Matlab/Simulink仿真模型&#xff0c;mppt控制有扰动观察法和电导增量法光伏逆变器这玩意儿&#xff0c;玩过的人都知道控制策略有多折腾。今天咱们直接上手Matlab/Simulink&#xff0c;搞个两级三相并网逆变器的仿真模型&#xff0c;重点拆解MPPT里…...