前期准备
(一)硬件选型
组件 | 推荐配置示例 | 说明 |
---|---|---|
CPU | 英特尔至强系列或AMD EPYC系列多核处理器(如Intel Xeon Gold 6348,核心数≥8核) | 服务器性能瓶颈常出现在CPU,多核可支撑高并发请求与复杂运算场景;根据业务负载动态调整核心分配策略更佳 |
内存 | DDR4 ECC校验内存,容量≥32GB(小型应用起步),大型数据库/虚拟化建议128GB以上 | ECC可自动纠错数据错误保障稳定性;内存不足会导致频繁换页影响响应速度 |
存储 | SAS/SATA硬盘组建RAID阵列(推荐RAID10兼顾读写性能与冗余),或采用SSD加速缓存层 | 机械盘成本低适合冷数据存储;SSD用于热数据可提升I/O吞吐量10倍以上 |
网络设备 | 千兆/万兆交换机+双网卡绑定(主备模式) | 双网口实现链路冗余,避免单点故障导致服务中断;万兆网满足大流量传输需求 |
(二)操作系统安装
主流选择包括CentOS、Ubuntu Server版或Windows Server,以CentOS为例:

- 下载ISO镜像:从官网获取最新版(如CentOS Stream 9),通过U盘启动盘制作工具写入U盘;
- BIOS设置:进入计算机固件界面开启“AHCI模式”(提升磁盘性能)、关闭安全启动选项;
- 分区规划:至少创建三个分区——
/boot
(500MB引导区)、swap
(交换空间=物理内存×2)、(根目录占用剩余全部空间); - 初始化配置:首次登录后执行
yum update -y
更新系统补丁,设置主机名(hostnamectl set-hostname myserver
),配置静态IP地址(编辑/etc/sysconfig/network-scripts/ifcfg-ens33
文件)。
基础环境搭建
(一)SSH远程管理
默认情况下Linux禁用root直接登录,需创建普通用户并赋予sudo权限:
useradd adminuser # 新增管理员账号 passwd adminuser # 设置密码 visudo # 在文件末尾添加 "adminuser ALL=(ALL) NOPASSWD:ALL"
之后可用ssh adminuser@<服务器IP>
远程连接,建议关闭telnet等不安全协议。
(二)防火墙配置(以firewalld为例)
允许常用端口通行:
systemctl start firewalld # 启动防火墙服务 firewall-cmd --permanent --add-service=http # 开放80端口(HTTP) firewall-cmd --permanent --add-service=https # 开放443端口(HTTPS) firewall-cmd --reload # 重载规则生效
若部署数据库还需额外开放对应端口(如MySQL默认3306)。

应用部署方案
根据业务类型选择不同架构:
|场景类型|典型技术栈|部署步骤要点|
|-------|---------|----------|
|Web网站|Nginx + PHP-FPM + MySQL|安装EPEL源→编译安装PHP扩展→配置Nginx虚拟主机→优化MySQL参数(innodb_buffer_pool_size设为内存的70%)|
|容器化|Docker Engine + Compose|拉取官方镜像docker pull nginx:latest
→编写docker-compose.yml定义服务依赖关系→启动集群docker-compose up -d
|
|微服务|Kubernetes(K8s)+HelmChart|初始化Master节点→加入Worker节点→通过Helm包管理器部署Istio服务网格→设置HPA自动扩缩容策略|
例如搭建LAMP环境的具体命令:
yum install epel-release # 启用扩展库 yum install mariadb-server # 安装MariaDB替代MySQL systemctl start mariadb # 启动数据库并设置root密码 yum install httpd mod_ssl # 安装Apache及SSL模块 systemctl enable httpd # 设为开机自启
性能优化策略
(一)内核调优参数示例(/etc/sysctl.conf)
net.core.somaxconn = 65535 # 增大TCP连接队列长度 vm.swappiness = 10 # 降低交换分区使用优先级 fs.file-max = 2097152 # 允许最大文件句柄数
修改后执行sysctl -p
使配置生效。
(二)监控体系构建
推荐组合使用Prometheus+Grafana+Alertmanager:

- 在每台服务器安装Node Exporter采集指标;
- 配置Prometheus抓取目标端点;
- Grafana创建仪表盘可视化展示CPU利用率、内存使用率等关键指标;
- 设置告警规则(如内存占用>90%触发邮件通知)。
安全防护措施
- 定期备份:使用rsync同步重要数据到异地存储,配合crontab定时任务每日全量备份;
- 漏洞修复:每周运行
yum check-update
检查安全更新,重点关注OpenSSL、OpenSSH等组件漏洞; - 入侵检测:部署OSSEC监控系统日志异常行为,阻断暴力破解尝试;
- 最小权限原则:删除默认无用账户(如game_user),限制普通用户的sudo权限范围。
相关问题与解答
Q1:如何判断服务器硬件是否存在瓶颈?
A:可通过top
命令观察%CPU和%MEM长期接近100%时可能存在资源不足;使用iostat -dx 1 3
查看磁盘IO等待时间超过5ms表明存储子系统成为瓶颈;网络层面用iftop
监测带宽利用率是否持续高于80%,建议结合压力测试工具(如sysbench)进行定量分析。
Q2:为什么推荐使用LVM逻辑卷管理磁盘?
A:LVM支持动态扩容而不影响正在运行的服务,例如当物理磁盘空间不足时,只需添加新硬盘到卷组即可在线扩展逻辑卷容量,此外还能实现快照功能(需配合LVM2元数据版本),方便系统回滚到历史状态