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

Ubuntu Server 22.04.4安装后必做的10件事:从基础配置到Docker环境一键部署

Ubuntu Server 22.04.4安装后必做的10件事:从基础配置到Docker环境一键部署

当你第一次登录到全新的Ubuntu Server系统时,面对这个干净但略显陌生的环境,可能会感到有些无从下手。作为一款广受欢迎的企业级Linux发行版,Ubuntu Server在安装完成后确实需要一些必要的配置才能发挥其最大效能。本文将带你完成从基础系统优化到Docker环境部署的全流程,让你的服务器迅速进入生产就绪状态。

1. 系统更新与基础工具安装

刚安装好的系统首要任务是确保所有软件包都是最新的。这不仅能够获取最新的功能改进,更重要的是修补已知的安全漏洞。

sudo apt update && sudo apt upgrade -y

这个命令会先更新本地软件包索引,然后升级所有可更新的软件包。-y参数会自动确认所有升级操作,适合在脚本中使用。如果你希望手动确认每个升级,可以去掉这个参数。

接下来安装一些开发者和系统管理员常用的工具:

sudo apt install -y vim curl wget net-tools htop tree unzip
  • vim- 比默认的nano更强大的文本编辑器
  • curl/wget- 用于从网络下载文件
  • net-tools- 包含ifconfig等传统网络工具
  • htop- 增强型的系统监控工具
  • tree- 以树状结构显示目录内容
  • unzip- 解压zip压缩包

提示:如果你更喜欢其他文本编辑器,如nano或emacs,可以相应替换vim。但熟悉vim对于Linux系统管理非常有帮助。

2. SSH安全加固

SSH是管理远程服务器的首要工具,也是攻击者经常尝试入侵的入口。以下配置可以显著提高SSH服务的安全性。

首先备份原始配置文件:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

然后编辑SSH配置文件:

sudo vim /etc/ssh/sshd_config

找到并修改以下参数:

Port 2222 # 改为非标准端口 PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes

这些修改的含义:

  • 更改默认端口:减少自动化扫描攻击
  • 禁止root登录:强制使用普通用户登录后再切换
  • 禁用密码认证:仅允许更安全的密钥认证
  • 启用公钥认证:使用SSH密钥对进行身份验证

应用更改前,请确保你已经:

  1. 在本地生成SSH密钥对(ssh-keygen
  2. 将公钥上传到服务器(ssh-copy-id -p 22 user@server
  3. 测试密钥登录是否正常工作

确认无误后重启SSH服务:

sudo systemctl restart sshd

重要:在关闭当前SSH会话前,务必新开一个终端测试新配置是否生效,避免被锁在服务器外。

3. 网络配置优化

生产环境服务器通常需要静态IP地址以确保服务的稳定性。Ubuntu Server 22.04使用netplan进行网络配置。

查看当前网络接口:

ip a

编辑netplan配置文件(文件名可能略有不同):

sudo vim /etc/netplan/00-installer-config.yaml

示例配置(根据你的网络环境调整):

network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: [192.168.1.100/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [8.8.8.8, 1.1.1.1]

应用配置:

sudo netplan apply

验证配置:

ip a ping -c 4 google.com

4. 时区与时间同步

准确的系统时间对于日志分析、证书验证等操作至关重要。配置NTP服务确保时间同步:

设置时区:

sudo timedatectl set-timezone Asia/Shanghai

安装并配置chrony(比默认ntp更精确):

sudo apt install -y chrony sudo systemctl enable --now chrony

验证时间同步状态:

chronyc tracking timedatectl

5. 防火墙配置

Ubuntu自带的UFW(Uncomplicated Firewall)提供了简单易用的防火墙管理接口。

基本配置步骤:

sudo ufw allow 2222/tcp # 允许自定义SSH端口 sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw enable

查看规则:

sudo ufw status numbered

如果需要删除某条规则:

sudo ufw delete 2 # 删除编号为2的规则

6. 用户管理与sudo权限

遵循最小权限原则,为不同任务创建专用用户:

创建新用户:

sudo adduser deploy

授予sudo权限:

sudo usermod -aG sudo deploy

或者更精细地控制sudo权限:

sudo visudo

在文件末尾添加:

deploy ALL=(ALL) NOPASSWD: /usr/bin/apt, /usr/bin/systemctl

这样deploy用户可以在不输入密码的情况下执行apt和systemctl命令。

7. 日志与监控配置

安装和配置基本监控工具:

sudo apt install -y fail2ban logrotate

配置fail2ban保护SSH:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local sudo vim /etc/fail2ban/jail.local

修改相关参数:

[sshd] enabled = true port = 2222 maxretry = 3 bantime = 1h

重启服务:

sudo systemctl restart fail2ban

安装并配置基础监控:

sudo apt install -y prometheus-node-exporter sudo systemctl enable --now prometheus-node-exporter

8. Docker环境部署

Docker已经成为现代应用部署的事实标准。在Ubuntu上安装Docker的推荐方法:

卸载旧版本(如有):

sudo apt remove docker docker-engine docker.io containerd runc

设置Docker仓库:

sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装Docker引擎:

sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证安装:

sudo docker run hello-world

将用户加入docker组(避免每次使用sudo):

sudo usermod -aG docker $USER newgrp docker

9. Docker Compose安装

虽然Docker现在包含compose插件,但独立版本有时更方便:

下载最新版本(替换为当前最新版本号):

DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker} mkdir -p $DOCKER_CONFIG/cli-plugins curl -SL https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

验证安装:

docker compose version

10. 系统性能调优

最后是一些可选的性能优化配置:

调整swappiness(减少交换空间使用):

echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf sudo sysctl -p

调整文件描述符限制:

echo '* soft nofile 65535' | sudo tee -a /etc/security/limits.conf echo '* hard nofile 65535' | sudo tee -a /etc/security/limits.conf

对于生产服务器,可能还需要考虑:

  • 配置日志轮转
  • 设置自动安全更新
  • 配置备份策略
  • 安装监控系统(如Prometheus+Grafana)
  • 设置警报通知

完成以上所有配置后,你的Ubuntu Server 22.04系统已经具备了安全、稳定运行生产工作负载的基础环境。根据具体应用需求,你可能还需要安装特定的数据库、Web服务器或其他中间件。

http://www.jsqmd.com/news/739564/

相关文章:

  • 如何确保箭头绘制准确性:Perfect Arrows 测试与调试终极指南
  • 如何用VinXiangQi解锁AI象棋对弈:4大核心技术打造专业级棋力辅助系统
  • STM32F103看门狗实战:用LED灯演示IWDG和WWDG的区别,别再傻傻分不清了
  • 智能网盘直链解析引擎:重新定义高速下载体验
  • 游戏控制器映射革命:AntiMicroX让任何手柄畅玩所有PC游戏 [特殊字符]
  • 2026年3月北京经营范围变更企业推荐,北京公司名称变更/北京记账报税/北京小规模记账,北京经营范围变更公司找哪家 - 品牌推荐师
  • Cilium Native eBPF Host-Routing 模式使用说明
  • Ariadne架构深度剖析:Span系统与缓存机制详解
  • 为什么MemReduct重启后语言设置会失效?3个关键步骤彻底解决
  • 别再死记硬背了!用Python脚本+Wireshark实战解析卡车J1708/J1587协议数据帧
  • 如何在答辩前48小时用嘎嘎降AI紧急降AI:高效操作流程完整实战教程
  • Windows右键菜单终极清理工具:ContextMenuManager完整使用指南
  • # 2026年国产奶粉口碑榜横评:品质认证、母乳研究与营养配方全对比 - 科技焦点
  • WindowResizer:打破Windows窗口限制的终极魔法棒 [特殊字符]
  • 游戏升级记 3 - ace-
  • 数字孪生遇上AR:虚实融合如何重塑产业?一篇讲透
  • LM文生图一文详解:Tongyi-MAI底座原理、LM系列训练演进与适用场景
  • 告别官网龟速下载!手把手教你用阿里云盘搞定Anaconda,再装昇思MindSpore 2.0
  • Web前端最新面试八股文 - JavaScript篇(四)(持续更新版)【建议收藏+关注】
  • 基础教程,通过TaotokenCLI工具一键配置开发环境与密钥
  • 从GitHub热门项目到商业产品:awesome-ai-agents清单里的闭源Agent,藏着哪些AI创业新趋势?
  • 7天入门DeepLearningPython:从0掌握前馈神经网络与反向传播算法
  • 第23集:云成本优化实战!AIOps 平台 FinOps 从浪费到省钱的蜕变
  • 避坑指南:S32K11X ADC采样不准?可能是参考电压和硬件设计没搞对
  • 5分钟掌握Zotero茉莉花插件:中文文献管理的终极解决方案
  • PCIE设备降速实战:为什么你的显卡跑不满?手把手教你排查与设置
  • 如何配置AdminJS权限审计日志:完整记录与分析用户操作行为指南
  • Windows 11/10 保姆级教程:用Java 17和cpolar免费版,5分钟搞定Minecraft服务器公网联机
  • QMCDecode:macOS上免费解锁QQ音乐加密音频的终极解决方案 [特殊字符]
  • Zephyr电源管理实战:手把手教你为STM32L5配置低功耗模式(含DTS详解)