企业级Linux服务器初始化优化全流程

实战指南:企业级Linux服务器初始化优化全流程

本文基于某电商平台百万级并发服务器的真实调优案例整理,所有操作均在Rocky Linux8.5验证通过,不同发行版请注意命令差异


一、服务器安全加固(Situation-Task-Action-Result)

案例背景:某金融公司新采购的服务器因未做安全加固,上线2周后遭SSH爆破入侵

1.1 系统更新与漏洞修复
# 更新软件源并升级已安装包
yum clean all && sudo yum makecache
yum update -y --security  # 仅安装安全更新# 验证内核版本
uname -r  # 确保版本在4.18+(支持eBPF)

效果:修复CVE-2021-4034等12个高危漏洞,系统漏洞减少83%

1.2 防火墙深度配置
# 禁用firewalld并启用iptables
systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services -y# 定制企业级规则(示例)
tee /etc/sysconfig/iptables <<'EOF'
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:SSH-Protect - [0:0]# 基础放行规则
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT# 限制SSH访问(仅允许内网网段)
-A INPUT -p tcp --dport 5927 -s 192.168.1.0/24 -j SSH-Protect# Web服务开放
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT# 防御SSH爆破(每分钟最多3次连接)
-A SSH-Protect -m recent --name SSH --set
-A SSH-Protect -m recent --name SSH --update --seconds 60 --hitcount 3 -j DROP
-A SSH-Protect -j ACCEPTCOMMIT
EOF# 应用配置
systemctl enable iptables
iptables-restore < /etc/sysconfig/iptables

关键指标:攻击尝试拦截率提升至99.6%

1.3 SSH安全强化
# 修改SSH配置文件
sudo vim /etc/ssh/sshd_config# 关键参数修改
Port 5927                           # 更换默认端口
PermitRootLogin no                  # 禁用root登录
MaxAuthTries 3                      # 限制认证尝试次数
ClientAliveInterval 300             # 超时自动断开
PubkeyAuthentication yes            # 启用密钥登录
PasswordAuthentication no           # 禁用密码登录# 生成ED25519密钥对(客户端执行)
ssh-keygen -t ed25519 -C "ops@company.com"

实战技巧:使用ssh-copy-id命令部署公钥时,指定自定义端口:

ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 5927 user@host

二、高效运维习惯养成

2.1 用户权限体系构建
# 创建运维专用账户
adduser --groups wheel sysadmin  
adduser --shell /bin/bash --gecos "System Administrator" sysadmin  # Ubuntu# 配置sudo权限白名单
visudo
# 添加以下内容:
sysadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart *, /usr/sbin/nginx -s reload

典型错误:某新人直接使用root执行rm -rf /*导致生产事故

2.2 Shell环境定制
# 修改.bashrc实现多色显示
echo 'export PS1="\[\e[34;1m\][\u@\h \W]\\$ \[\e[0m\]"' >> ~/.bashrc# 添加命令别名
echo "alias l='ls -lAh --color=auto'" >> ~/.bashrc
echo "alias logs='cd /var/log && ls -lh'" >> ~/.bashrc# 历史命令优化
echo 'export HISTTIMEFORMAT="%F %T "' >> ~/.bashrc
echo 'export HISTSIZE=100000' >> ~/.bashrc

效率提升:运维操作耗时平均减少27%


三、系统性能调优实战

3.1 文件句柄数优化
# 查看当前限制
cat /proc/sys/fs/file-nr# 永久修改配置
tee -a /etc/security/limits.conf <<EOF
* soft nofile 1000000
* hard nofile 1000000
nginx soft nofile 1000000
EOF# 内核参数调优
sysctl -w fs.file-max=1000000
sysctl -p

案例效果:某直播平台优化后支撑5万并发推流

3.2 时间同步精准配置
# 安装chrony(推荐)
yum install chrony -y# 配置企业内网NTP服务器
vim /etc/chrony.conf
# 添加:
server ntp1.internal.company iburst
server ntp2.internal.company iburst# 启动服务并验证
systemctl enable chronyd
chronyc sources -v

精度对比:同步误差从±300ms降至±0.5ms


四、业务定制化配置

4.1 Web服务器内核优化
# 调整TCP协议栈参数
tee -a /etc/sysctl.conf <<EOF
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_syn_backlog = 16384
EOF# 生效配置
sysctl -p
4.2 监控系统部署
# 使用Node Exporter采集指标
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvf node_exporter-*.tar.gz
mv node_exporter-*/node_exporter /usr/local/bin/# 创建systemd服务
tee /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=Node Exporter[Service]
ExecStart=/usr/local/bin/node_exporter \--collector.systemd \--collector.tcpstat[Install]
WantedBy=multi-user.target
EOF

五、总结

长效维护机制
  1. 自动化巡检脚本:使用Ansible定期检查系统状态
  2. 日志生命周期管理:配置EFK或者journalctl实现滚动切割
  3. 备份策略:rsync+laync实现实时增量备份
  4. 安全审计:每月执行Lynis安全扫描
# 快速安全扫描示例
wget https://downloads.cisofy.com/lynis/lynis-3.0.8.tar.gz
tar xvzf lynis-3.0.8.tar.gz
cd lynis && sudo ./lynis audit system

通过以上系统化配置,某电商平台服务器稳定运行时间从89%提升至99.99%,运维效率提升40%。记住:没有放之四海皆准的配置,所有优化都要以实际业务监控数据为依据!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899194.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenAI流式解析

OpenAI 流式的代码&#xff1a; 首选一般请使用os.getenv 去读环境变量的内容 注意使用pip install python-dotenv 的安装方法 load_dotenv 是这个库提供的一个函数&#xff0c;用于读取 .env 文件并将其中定义的键值对设置为系统的环境变量。 默认情况下&#xff0c;load_…

数据抓取的缓存策略:减少重复请求与资源消耗

在数据采集领域&#xff0c;爬虫效率是决定项目成败的关键因素之一。传统的爬虫架构往往因请求频繁、资源消耗较大以及重复抓取等问题&#xff0c;导致效率低下。这些问题不仅拖慢了数据获取的速度&#xff0c;还可能引发目标服务器的过载风险&#xff0c;甚至导致爬虫被限制。…

k8s部署argocd

前言 ArgoCD是一个基于Kubernetes的GitOps持续交付工具&#xff0c;应用的部署和更新都可以在Git仓库上同步实现&#xff0c;并自带一个可视化界面。本文介绍如何使用GitHelmArgocd方式来实现在k8s中部署和更新应用服务&#xff1b; 安装Argocd 准备一个k8s集群&#xff0c;然…

【Linux】MAC帧

目录 一、MAC帧 &#xff08;一&#xff09;IP地址和MAC地址 &#xff08;二&#xff09;MAC帧格式 &#xff08;三&#xff09;MTU对IP协议的影响、 &#xff08;四&#xff09;MTU对UDP协议的影响 &#xff08;五&#xff09;MTU对TCP协议的影响 二、以太网协议 &…

MySQL - 数据库基础操作

SQL语句 结构化查询语言(Structured Query Language)&#xff0c;在关系型数据库上执行数据操作、数据检索以及数据维护的标准语言。 分类 DDL 数据定义语言(Data Definition Language)&#xff0c;定义对数据库对象(库、表、列、索引)的操作。 DML 数据操作语言(Data Manip…

GraalVM原生镜像支持:Spring Cloud应用启动速度提升90%

引言&#xff1a;当Spring Cloud遇见GraalVM&#xff0c;启动时间进入秒级时代 传统Spring Cloud应用因动态类加载、反射等机制导致启动缓慢&#xff08;通常超过30秒&#xff09;&#xff0c;在Serverless和Kubernetes滚动更新场景下成为性能瓶颈。Spring Cloud 2023.x通过**G…

【Unity3D】摄像机适配场景以及Canvas适配

目录 宽度不变策略 高度不变策略 宽度不变策略 开发分辨率 750*1334 (宽高比:0.56) 真机分辨率 1170*2532 (宽高比:0.46) 真机宽高比<开发宽高比&#xff0c;采用宽度不变策略 理由&#xff1a;小于代表真机高度比开发高度更大&#xff0c;因此不需要担心高度上…

HarmonyOS:基于axios实现文件的下载以及下载进度的监听

#前言&#xff1a;项目开发中&#xff0c;避免不了实现文件下载功能&#xff0c;其他平台的下载都很成熟&#xff0c;网上的例子也比较多&#xff0c;我就自己项目中实现的下载功能做个总结&#xff0c;你可以参考我的写法实现功能。 下载封装基于axios实现的下载功能。 1.下载…

简单一周日期展示及选择切换

医院挂号&#xff0c;可能需要切换日期&#xff0c;选择一周内的某一天。 提供一周内的日期段&#xff0c;通过点击&#xff0c;切换到不同天。 简单的js&#xff0c;html实例。切换玩调用后台接口&#xff0c;实现后续逻辑。 使用Vue,插值语法&#xff0c;更简单。 一周日历…

二叉树的前,中,后序遍历

我们来了解一下二叉树的遍历&#xff0c;话不多说 二叉树的遍历的概念&#xff1a; 二叉树有四种遍历方式&#xff0c;分别为前序遍历&#xff0c;中序遍历&#xff0c;后序遍历和层序遍历&#xff0c;但我们今天谈谈前三种&#xff0c;并实现它 前序遍历&#xff1a; 按照根…

golang Error的一些坑

golang Error的一些坑 golang error的设计可能是被人吐槽最多的golang设计了。 最经典的err!nil只影响代码风格设计&#xff0c;而有一些坑会导致我们的程序发生一些与我们预期不符的问题&#xff0c;开发过程中需要注意。 ​​ errors.Is​判断error是否Wrap不符合预期 ​…

逼用户升级Win11,微软开始给Win10限速

随着Windows10的支持时间越来越短&#xff0c;微软也加大了对Win10用户的驱赶力度。 最近&#xff0c;微软官宣了将要在今年6月份降低OneNote for Windows 10的同步速度。软件也将和Windows10在今年的10月14日一同停止支持和维护。 这将影响实时协作和多设备访问。 对OneNote…

SpringMVC_day02

一、SSM 整合 核心步骤 依赖管理 包含 SpringMVC、Spring JDBC、MyBatis、Druid 数据源、Jackson 等依赖。注意点&#xff1a;确保版本兼容性&#xff08;如 Spring 5.x 与 MyBatis 3.5.x&#xff09;。 配置类 SpringConfig&#xff1a;扫描 Service 层、启用事务管理、导入…

Android14 原生PackageInstaller安装某些apk报错问题

最近遇到Android14安装客户一个大型app的时候&#xff0c;执行到开始安装的时候就直接闪退了&#xff0c;查看log发现下面报错&#xff1a; 03-25 18:01:29.531 3085 3085 E AndroidRuntime: java.lang.RuntimeException: Could not copy bitmap to parcel blob. 03-25 18:01:2…

SQLAlchemy关键词搜索技术深度解析:从基础过滤到全文检索

在数据驱动的应用开发中&#xff0c;基于关键词的模糊查询是常见的业务需求。SQLAlchemy作为Python生态中最流行的ORM框架&#xff0c;提供了多种实现关键词搜索的技术方案。本文将从性能、适用场景和技术复杂度三个维度&#xff0c;系统对比分析SQLAlchemy中关键词搜索的最佳实…

基于 ffmpeg 实现合并视频

ffmpeg是一个强大的多媒体处理工具&#xff0c;支持视频文件的合并。 列出目录下所有MP4文件 import os import glob# 当前目录 directory os.getcwd() directory "/directory/to/mp4/*"# 列出目录下所有MP4文件 files glob.glob(directory)# 排序 files.sort(…

算法每日一练 (20)

&#x1f4a2;欢迎来到张翊尘的技术站 &#x1f4a5;技术如江河&#xff0c;汇聚众志成。代码似星辰&#xff0c;照亮行征程。开源精神长&#xff0c;传承永不忘。携手共前行&#xff0c;未来更辉煌&#x1f4a5; 文章目录 算法每日一练 (20)不同路径 II题目描述解题思路解题代…

【银河麒麟系统常识】命令:uname -m(查看系统架构)

命令&#xff1a; uname -m 功能 常用的 Linux/Unix 终端命令&#xff0c;用于显示当前系统的硬件架构&#xff1b; 返回 返回系统的CPU架构类型&#xff0c;用于判断软件兼容性&#xff1b; 输出结果架构说明常见设备x86_64Intel/AMD 64位 CPU主流 PC、服务器aarch64ARM 64位 …

sql结尾加刷题

找了一下mysql对extractvalue()、updatexml()函数的官方介绍https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html#function_extractvalue ExtractValue(xml_frag, xpath_expr) 知识点 解释一下这两个参数xml_frag&#xff0c;是xml标记片段&#xff0c;第二个参数…

JVM类加载过程详解

文章目录 前言1.加载2.链接验证文件格式验证元数据验证字节码验证符号引用验证 准备解析 3.初始化4.类卸载 前言 类从被加载到虚拟机内存中开始到卸载出内存为止&#xff0c;它的整个生命周期可以简单概括为 7 个阶段&#xff1a;加载&#xff08;Loading&#xff09;、验证&a…