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

Ubuntu 22.04 服务器部署:从零到生产环境的系统调优与配置

1. 环境准备与基础配置

刚拿到一台全新的Ubuntu 22.04服务器时,就像搬进毛坯房,得先通水电、装门窗。我通常会从这几个基础配置开始,它们决定了后续所有操作的稳定性。

1.1 系统更新与源配置

国内用户第一步要做的就是更换软件源。阿里云的镜像源速度稳定,我实测下载速度能提升5-8倍。操作时记得先备份原始配置:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

然后用vim编辑sources.list文件,替换为以下内容(以阿里云源为例):

deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu jammy-security main restricted universe multiverse

更新软件包列表时有个小技巧:先运行sudo apt update --fix-missing修复可能的索引错误,再执行常规更新。遇到锁文件报错时,用sudo rm /var/lib/apt/lists/lock清除锁文件。

1.2 基础工具安装

生产环境必备的工具集我习惯称为"运维瑞士军刀":

  • 网络诊断系:net-tools(包含ifconfig)、iproute2、traceroute
  • 文件传输系:lrzsz(支持rz/sz命令)、curl、wget
  • 文本处理系:vim、jq(JSON处理)、tree(目录树展示)
  • 系统监控系:htop、iotop、nmon

安装命令如下:

sudo apt install -y vim net-tools curl wget lrzsz htop iotop nmon jq tree

特别提醒:如果服务器内存小于2GB,建议用nano替代vim,因为vim的内存占用可能影响服务性能。我在低配云主机上就遇到过vim导致OOM的问题。

2. 系统安全加固

安全配置就像给服务器穿上防弹衣,下面这些措施是我在金融级项目中验证过的方案。

2.1 SSH安全防护

首先修改SSH默认端口,建议选择1024-65535之间的冷门端口。修改/etc/ssh/sshd_config时要注意:

Port 58234 # 新端口号 PermitRootLogin no # 禁止root直接登录 PasswordAuthentication no # 强制密钥认证 ClientAliveInterval 300 # 5分钟无操作自动断开

改完后务必先测试新端口能否连接,再关闭原端口。我有次忘了测试就直接重启服务,结果把自己锁在服务器外面...

2.2 防火墙配置

UFW是Ubuntu自带的防火墙工具,比iptables友好多了。建议这样配置:

sudo ufw allow 58234/tcp # 放行SSH新端口 sudo ufw allow 80,443/tcp # 放行Web服务 sudo ufw enable # 启用防火墙

重要提示:云服务器还需要在控制台配置安全组规则,两者是互补关系。我就遇到过UFW放行了端口但阿里云安全组没配置的情况。

2.3 用户权限控制

创建专用运维账号比直接用root安全得多:

sudo adduser deployer sudo usermod -aG sudo deployer # 加入sudo组

然后配置sudo免密码(生产环境慎用):

echo "deployer ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/deployer

3. 性能调优实战

这部分是重头戏,好的调优能让服务器性能提升30%以上。

3.1 内核参数优化

编辑/etc/sysctl.conf时,我通常会调整这些关键参数:

# TCP连接优化 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_tw_reuse = 1 # 内存管理 vm.swappiness = 10 # 减少swap使用 vm.overcommit_memory = 1 # 允许内存超配 # 文件系统 fs.file-max = 65535 # 最大文件描述符

应用配置后,用sysctl -p生效。注意这些值需要根据实际负载调整,我在高并发场景会把tcp_max_syn_backlog调到16384。

3.2 资源限制调整

修改/etc/security/limits.conf解除默认限制:

* soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535

对于Java应用服务器,还需要额外设置:

echo "DefaultLimitNOFILE=65535" >> /etc/systemd/system.conf systemctl daemon-reload

3.3 磁盘I/O优化

如果是传统硬盘(非SSD),可以调整电梯算法:

echo deadline > /sys/block/sda/queue/scheduler

对于数据库服务器,建议关闭文件系统atime属性:

vim /etc/fstab # 在挂载选项中加入noatime,nodiratime

4. 生产环境必备服务

4.1 时间同步配置

分布式系统对时间同步要求极高,我推荐用chrony替代默认的timesyncd:

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

配置文件中建议添加国内NTP服务器:

server ntp.aliyun.com iburst server ntp1.tencent.com iburst

4.2 日志管理

Ubuntu默认使用rsyslog,生产环境建议这样配置:

# 限制日志文件大小 vim /etc/logrotate.d/rsyslog # 添加以下内容 size 100M rotate 5 compress

对于容器化环境,可以考虑安装Loki或Elasticsearch集成。

4.3 监控告警

基础监控我习惯用Prometheus+Node Exporter组合:

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz tar xvf node_exporter-*.tar.gz sudo mv node_exporter-*/node_exporter /usr/local/bin/

创建systemd服务:

[Unit] Description=Node Exporter After=network.target [Service] User=node_exporter ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target

记得配置防火墙放行9100端口。这套监控方案在我管理的50+节点集群中稳定运行了3年。

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

相关文章:

  • 2026年武汉热门的网络营销代运营公司推荐:众量引擎的产品特点解析 - 工业品网
  • 小红书、公众号、头条图文内容特点、类型及结构对比解析
  • 3大突破!Path of Building数值革命:从经验猜想到数据驱动的Build构建方法
  • 张雪说 logo 是淘宝 600 块做的,还吐槽了哪吒汽车花 5 亿设计 Logo “必死无疑”
  • 从.m3u8到MP4:一次搞懂流媒体视频下载与FFmpeg格式转换的完整流程
  • 赛马娘DMM版汉化与优化完整指南:轻松实现完美游戏体验
  • 2026届学术党必备的六大AI论文助手实测分析
  • 6大压缩算法实战指南:7-Zip ZS多场景效率优化全攻略
  • 双模型协作方案:Gemma-3-12b-it与小型OCR模型联动处理扫描件
  • 像素艺术爱好者的福音:忍者像素绘卷开箱即用体验与作品集
  • 在YOLOv11中嵌入Coordinate Attention坐标注意力模块
  • 如何确保 SEO 推广合同的执行情况
  • 华硕笔记本合盖设置完全指南:外接显示器场景下的不休眠解决方案
  • RetDec反编译工具完整指南:从新手到专家的逆向工程利器
  • 开源书源配置指南:打造个性化小说阅读体验
  • OFA图像描述模型实战:自动化生成产品电商图描述
  • 戴森球计划燃料棒蓝图完全指南:从入门到精通掌握能源生产
  • H5-Dooring:可视化H5开发的技术革新与实践指南
  • 终极英雄联盟工具箱:League Akari 让你的游戏体验自动化升级
  • PyTorch 2.8镜像企业实操:汽车厂商产品发布会AI视频脚本生成+渲染一体化
  • 淘宝自动化脚本终极指南:每天节省30分钟的淘金币全任务解决方案
  • 资源全能捕获:突破平台限制的5个高效下载方案
  • VideoAgentTrek-ScreenFilter多场景:在线考试监考+远程协作安全审查双模式
  • 如何免费解锁付费内容?bypass-paywalls-chrome-clean工具完全指南
  • 注意力机制改进效果对比实验与分析
  • Notion增强器的组件化架构:从岛屿系统到界面扩展的设计哲学
  • 香橙派Pi5 Qt5 GPIO开发避坑指南:从wiringOP编译到点亮第一个LED
  • 抖音下载器终极指南:免费高效获取无水印内容的完整教程
  • 如何用BilibiliDown快速下载B站视频:新手一站式实战指南
  • 探讨纸塑袋专业供应商哪家好,威世登产品适配性和品质靠谱不? - 工业设备