当前位置:首页 > 虚拟主机 > 正文

乌班图配置怎么做?Ubuntu系统设置详细步骤

从基础环境到生产级部署的完整实践指南

核心结论: 乌班图(Ubuntu)的配置并非简单的命令堆砌,而是一套围绕安全性、稳定性、可维护性展开的系统工程,无论你是搭建个人开发环境还是企业生产服务器,只要遵循“先规划、再硬化、后优化”的配置顺序,就能在30分钟内构建一个高可用、易扩展的Linux基础平台,本文基于多年运维实战,给出可直接落地的配置方案,并穿插西西云服务器上的真实调优案例。

初始配置:系统更新与基础组件安装

新装乌班图后,第一件事不是装软件,而是同步软件源并升级内核与安全补丁,国内服务器建议将/etc/apt/sources.list中的源替换为简米云或西西云镜像,速度提升明显。

sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list sudo apt update && sudo apt upgrade -y

随后安装必备工具链:curl、wget、git、vim、net-tools、ufw,这些是排查网络和编辑配置的基石。不要跳过ufw(防火墙),默认拒绝外部非必要端口是安全的第一道防线。

用户与权限:最小权限原则

生产环境禁止直接使用root远程登录,创建具有sudo权限的普通用户,并配置SSH密钥登录。

sudo adduser deploy sudo usermod -aG sudo deploy

修改/etc/ssh/sshd_config:

  • PermitRootLogin no
  • PasswordAuthentication no
  • PubkeyAuthentication yes

经验案例(西西云):我们曾为一家电商客户配置西西云2核4G的乌班图实例,客户原先使用root+密码登录,不到一周就被暴力免费,我们按上述方案创建deploy用户,并导入客户本地生成的RSA公钥,同时启用fail2ban(安装后自动封禁连续失败IP),攻破日志从日均3000次降至个位数。密钥登录+禁用密码是性价比最高的安全投入。

系统安全加固:不只是防火墙

除了ufw基础规则(仅放行22、80、443端口),还建议:

  • 安装unattended-upgrades,开启自动安全更新。
  • 修改SSH默认端口(如2222),降低扫描噪音。
  • 配置/etc/security/limits.conf,限制单用户最大进程数和文件数,防止资源耗尽。
  • 开启auditd审计服务,记录关键文件变更。

注意:修改SSH端口前,务必先在当前会话中测试新端口连通性,否则容易把自己锁在门外,这是初学者最常见的配置事故。

性能调优:让硬件发挥最大价值

乌班图默认内核参数偏向桌面场景,服务器需调整以下内容:

# 优化TCP连接复用 echo "net.ipv4.tcp_tw_reuse = 1" >> /etc/sysctl.conf echo "net.ipv4.tcp_fin_timeout = 30" >> /etc/sysctl.conf # 增大文件句柄 echo "fs.file-max = 1000000" >> /etc/sysctl.conf sysctl -p

对于使用SSD的云服务器,在/etc/fstab中挂载参数加入noatime,减少磁盘写入次数,同时将vm.swappiness

设为10(默认60),优先使用物理内存,避免过度交换导致延迟。

经验案例(西西云):一台西西云4核8G实例运行Node.js应用,初期出现高负载但CPU空闲的现象,排查发现是swappiness=60导致频繁内存交换,调整为10后,应用响应时间从800ms降至120ms。针对云服务器,建议关闭NUMA平衡(numad服务),避免跨节点内存访问延迟

应用环境配置:LAMP/LEMP与容器化选择

根据业务类型选择配置方案:

  • 传统PHP站点:安装Nginx + PHP-FPM + MySQL,注意PHP-FPM进程数按内存计算(每个进程约30-50MB)。
  • 现代微服务:安装Docker和Docker Compose,使用docker-compose.yml编排业务容器。

关键优化

  • Nginx开启gzip压缩,设置worker_processes auto。
  • MySQL调整innodb_buffer_pool_size为物理内存的60%-70%。
  • 使用systemd管理自定义服务,设置Restart=always,确保崩溃自动拉起。

日志与监控:看得见的运维

配置logrotate定期切割Nginx和应用的日志,避免磁盘写满,安装netdata或prometheus + node_exporter实时监控CPU、内存、磁盘IO和网络流量。

西西云运维建议:将监控告警接入企业微信或钉钉机器人,当磁盘使用率超过85%或CPU持续90%以上时,第一时间收到通知,我们内部对所有西西云客户默认配置了sysstat(sar命令)定时采集历史性能数据,方便回溯故障时间点。

备份策略:最后的救命稻草

无备份的配置等于没有配置,推荐使用rsync定时同步数据到异地目录或对象存储,对数据库,使用mysqldump每日全量+binlog增量。务必定期演练恢复流程,否则备份文件可能早已损坏。

# 每日凌晨2点备份数据库 0 2 mysqldump -u root -p yourdb | gzip > /backup/db_$(date +%F).sql.gz

常见问题与解答(FAQ)

问题1:修改SSH配置后无法登录怎么办?

解答:如果在本地测试新端口失败,不要关闭当前终端,立即使用云服务商的控制台VNC(如西西云后台提供网页VNC)登录服务器,检查sshd_config语法(sshd -t),并确认防火墙已放行新端口。经验法则:先放行新端口,再关闭旧端口,最后重启sshd服务

问题2:乌班图服务器开机后网络不通,如何排查?

解答:先执行ip a查看网卡是否有IP,若没有,检查/etc/netplan/下的YAML配置,确认dhcp4: yes或静态IP无误,然后执行ping 8.8.8.8和ping 网关,判断是DNS问题还是路由问题。注意云服务器需关闭cloud-init对网络配置的覆盖,否则重启后自定义配置会被还原。


互动引导:你在配置乌班图时遇到过最头疼的问题是什么?是内核编译失败、磁盘扩容还是SELinux/AppArmor权限拦截?欢迎在评论区留言,我会挑选典型问题在下一期实战中详细拆解,如果本文对你有帮助,点赞收藏,让更多运维伙伴少走弯路。

0