环境准备:操作系统要求与硬件资源评估

说实话,很多人在安装环节翻车,不是因为技术不行,而是环境没准备好。我见过太多人一上来就敲命令,结果卡在某个依赖上,折腾半天才发现是系统版本不对。今天咱们就把这事一次性说清楚。

操作系统支持情况

先说说操作系统。不同组件对系统的支持力度不一样,但主流方案基本覆盖三大平台。

操作系统 支持版本 推荐场景 个人评价
Windows Windows 10/11 (64位) 本地开发、测试 上手快,但生产环境少用
Linux Ubuntu 20.04+/CentOS 7+/Debian 11+ 生产环境、服务器 我最推荐,稳定且坑少
macOS macOS 12+ (Monterey以上) 前端开发、个人项目 体验好,但生态受限

我个人习惯用 Linux 做主力。为什么?因为大部分组件在 Linux 上跑得最稳,社区支持也最全。Windows 用户也别慌,现在 WSL2 已经很成熟了,我在项目中就用它跑过整套环境,基本没遇到兼容性问题。

小提示:如果你用的是 Windows,强烈建议开启 WSL2。直接在 PowerShell 里执行 wsl --install 就能搞定。别在原生 Windows 上硬扛,坑太多。

硬件资源评估

硬件这块,很多人容易走极端。要么觉得随便一台机器就能跑,要么上来就配 64G 内存。其实没那么玄乎,咱们按需分配就行。

CPU 要求

  • 最低配置:双核 CPU,主频 2.0GHz 以上
  • 推荐配置:四核及以上,主频 2.5GHz+
  • 生产环境:8 核起步,建议用 Intel Xeon 或 AMD EPYC

你想想看,编译代码的时候,CPU 核心数直接决定了等待时间。我记得有一次在 2 核的虚拟机上编译一个中型项目,等了快 40 分钟。后来换成 8 核,10 分钟就搞定了。所以别省这点钱。

内存要求

场景 最低内存 推荐内存 说明
单组件安装测试 4GB 8GB 够用,但别开太多应用
多组件联调 8GB 16GB 我建议至少 16G
生产环境 16GB 32GB+ 根据并发量动态调整

内存这东西,说白了就是多多益善。我曾经在 8G 的机器上同时跑 Docker、数据库和 IDE,结果系统直接卡死。后来加了条内存,世界清净了。

磁盘空间

  • 系统盘:至少 50GB 空闲空间
  • 数据盘:建议 100GB+,用于存放镜像、日志、数据文件
  • 磁盘类型:SSD 是必须的,机械盘会让人崩溃
注意:千万别把系统盘塞满。我见过有人把 / 目录用到 99%,结果系统连日志都写不进去,排查问题花了整整一下午。留 20% 的余量是基本操作。

网络与防火墙配置

网络配置是很多人容易忽略的环节。组件安装需要下载依赖包,防火墙一拦,啥都干不了。

网络要求

  • 外网访问:需要能访问 GitHub、Docker Hub、Maven 中央仓库等
  • 内网互通:组件之间通信需要开放特定端口
  • 带宽建议:至少 10Mbps,下载大镜像时 100Mbps 更舒服

嗯,这里要注意。如果你在公司内网,很可能有代理或防火墙限制。我建议提前确认好以下事项:

  1. 能不能直连外网?不能的话,配置 HTTP/HTTPS 代理
  2. DNS 解析是否正常?有时候内网 DNS 会屏蔽某些域名
  3. 有没有白名单机制?提前把需要的域名加进去

常见端口列表

组件 默认端口 协议 说明
Nginx 80/443 HTTP/HTTPS Web 服务
MySQL 3306 TCP 数据库连接
Redis 6379 TCP 缓存服务
Docker 2375/2376 TCP API 通信
Kubernetes 6443 HTTPS API Server
避坑指南:我曾经在配置防火墙时,只开了 80 和 443 端口,结果组件之间通信全走内网 IP,端口没开导致服务注册失败。排查了 2 小时才发现是防火墙的问题。所以建议先关掉防火墙测试,确认没问题再按需开放端口。

防火墙配置示例

以 Linux 上的 iptables 为例,开放常用端口:

# 开放 SSH 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 开放 Web 服务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 开放数据库端口(注意限制来源 IP)
iptables -A INPUT -p tcp --dport 3306 -s 192.168.1.0/24 -j ACCEPT

# 保存规则
service iptables save

如果你用 firewalld,命令会更简单:

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload

环境检查清单

最后,我整理了一份检查清单。安装前过一遍,能省掉 80% 的麻烦:

  • ☐ 操作系统版本符合要求
  • ☐ CPU 核心数 ≥ 4
  • ☐ 内存 ≥ 8GB
  • ☐ 磁盘剩余空间 ≥ 50GB
  • ☐ 磁盘类型为 SSD
  • ☐ 网络能访问外网
  • ☐ 防火墙已开放必要端口
  • ☐ 已安装 curl/wget 等基础工具

核心要点:环境准备不是走过场,而是给后面的安装铺路。我见过太多人在这步偷懒,结果后面花双倍时间填坑。花 10 分钟检查环境,比花 1 小时排错划算得多。

好了,环境准备这块就聊到这。下一章咱们开始动手安装,到时候我会把每个步骤拆开揉碎了讲。有什么问题,欢迎随时交流。