服务器搭建完环境后,需配置安全组、安装必要软件,检查账户权限,测试服务运行状态,优化性能参数,并部署监控工具确保稳定
服务器搭建完环境后必须完成的10项核心检查与优化
完成服务器环境搭建只是万里长征第一步,真正考验技术的是对环境的精细化调优和长期维护,以下是资深运维工程师归纳的完整操作指南,包含从基础验证到高级防护的全维度操作。
环境验证与基础配置(表1)
验证项目 | 操作命令/方式 | 预期结果 | 异常处理方案 |
---|---|---|---|
网络连通性 | ping 8.8.8.8 | 持续收到响应包 | 检查防火墙/网卡配置 |
SSH服务 | netstat -tuln | grep 22 | 监听22端口 | 重启sshd服务 |
Web服务 | curl http://localhost | 返回默认页面或指定响应 | 检查Nginx/Apache配置文件 |
数据库连接 | mysql -u root -p | 成功登录 | 查看错误日志修复权限问题 |
内存使用 | free -h | 可用内存>总内存50% | 调整swap分区或优化服务 |
磁盘空间 | df -h | /分区剩余>20% | 清理临时文件或扩容磁盘 |
时区设置 | timedatectl | 显示正确时区 | 修改/etc/timezone |
主机名 | hostname | 符合规划命名规范 | 修改/etc/hostname |
历史命令记录 | cat ~/.bash_history | 无敏感操作残留 | 清除历史记录 |
用户权限 | grep '^[a-z]' /etc/passwd | 无多余普通用户 | 删除冗余账户 |
安全加固七层防护体系
账户安全
- 禁用root远程登录:编辑
/etc/ssh/sshd_config
添加PermitRootLogin no
- 创建专用运维用户:
useradd admin && usermod -aG sudo admin
- 强制密码策略:
yum install -y cracklib-dicts
,修改/etc/security/pwquality.conf
- 禁用root远程登录:编辑
防火墙配置
firewall-cmd --permanent --add-service={http,https} firewall-cmd --permanent --remove-service=ssh firewall-cmd --add-forward-port=port=222:proto=tcp:toport=22
注:将SSH端口改为222并设置密钥认证
系统硬化
- 关闭IPv6:
echo "ipv6_disable=1" >> /etc/sysctl.conf
- 禁用USB存储:
echo "install usb_storage /bin/true" > /etc/modprobe.d/usb.conf
- SELinux设置:
setenforce 1 && echo "SELINUX=enforcing" >/etc/selinux/config
- 关闭IPv6:
日志审计
# 配置日志轮转 vim /etc/logrotate.d/custom /var/log/auth.log { daily rotate 7 compress delaycompress missingok notifempty create 0600 root adm }
入侵检测
- 安装Fail2ban:
yum install fail2ban -y
- 配置jail.local:
[sshd] enabled = true port = 222 logpath = %(systemd_journal)s maxretry = 5 bantime = 3600
- 安装Fail2ban:
数据加密
- 启用LUKS全盘加密:
cryptsetup luksOpen /dev/sda1 myvg --key-file /root/key.txt
- SMB传输加密:
echo "client min protocol = SMB3"
> /etc/samba/smb.conf
- 启用LUKS全盘加密:
补丁管理
# CentOS自动更新配置 cat <<EOF >/etc/yum/yum-cron.conf [commands] update_cmd = security update_messages = yes [base] apply_updates = yes EOF yum-complete-transaction
性能优化黄金组合
优化维度 | Linux参数 | MySQL配置 | Java虚拟机参数 |
---|---|---|---|
网络吞吐量 | net.core.somaxconn=4096 | innodb_flush_log_at_trx=2 | -Dsun.net.inetaddr.ttl=600 |
I/O性能 | vm.dirty_ratio=10 | innodb_iocapacity=4000 | -XX:+UseG1GC |
内存管理 | vm.swappiness=10 | innodb_buffer_pool_size=4G | -Xms2G -Xmx4G |
CPU调度 | nice -n -10 | thread_stack=256K | -XX:ParallelGCThreads=8 |
文件描述符 | ulimit -n 65535 | open_files_limit=8192 |
监控体系搭建方案
基础监控
- Prometheus + Grafana:采集CPU/MEM/DISK指标
- NodeExporter:暴露硬件级别数据
- Alertmanager:配置分级告警规则
应用监控
- JVM监控:部署Micrometer+Prometheus客户端
- SQL监控:开启MySQL performance_schema
- Web监控:集成Google Lighthouse自动化测试
日志分析
# ELK栈部署命令 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.17.9
灾难恢复预案模板
graph TD A[主数据中心] -->|同步复制| B[备机1] A -->|异步复制| C[备机2] B --> D[异地云存储] C --> D D --> E[离线磁带库] E --> F[灾难恢复中心]
RPO<15分钟,RTO<2小时实施方案
常见服务优化对照表(表2)
服务类型 | 优化参数 |
---|---|
Nginx | worker_processes=auto; worker_connections=51200; sendfile=on |
Redis | maxmemory=4GB; maxclients=1000; save “” |
Tomcat | maxThreads=200; minSpareThreads=20; maxConnections=10000 |
PostgreSQL | shared_buffers=2GB; work_mem=50MB; autovacuum=on |
Docker | log-driver=json-file; log-opt=max-size=50m; storage-opt=overlay |
合规性检查清单
- GDPR:确保审计日志保留≥1年,数据加密符合标准
- PCI-DSS:禁用root本地登录,季度扫描开放端口
- ISO27001:实施双因素认证,每季度进行渗透测试
- 等保三级:关闭非必要远程服务,核心设备物理隔离
FAQs
Q1:如何验证服务器环境是否完全正常?
A:执行三层验证:①基础服务状态检查(systemctl list-units –type=service)②业务功能验证(如API接口测试)③压力测试(ab/JMeter模拟高并发),特别注意查看/var/log/messages中的异常报错。
Q2:误删重要配置文件怎么恢复?
A:立即停止相关服务,从快照/备份中恢复,若未备份,可尝试:①从同类服务器复制配置②使用extundelete
恢复③联系厂商技术支持获取默认模板,建议日常开启版本控制(git/svn管理配置文件)。
小编有话说
服务器环境搭建完成只是起点,真正的挑战在于建立可持续的运维体系,推荐三个提升效率的工具:①Ansible自动化配置管理②Prometheus+Granfana监控套件③Jenkins持续集成,每周进行健康检查比出问题后再救火更重要,建议建立标准化巡检流程并严格执行,对于关键业务系统,建议采用蓝绿部署架构,确保更新零
以上内容就是解答有关“服务器搭建完环境后”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复