基于CentOS7:Linux服务器的初始化流程

文章目录

  • 前言
  • 一、服务器初始化
    • 1.1 配置国内 Yum 源(加速软件安装)
      • 1.1.1 使用阿里云源
        • 1.1.2 使用清华源(可选)
      • 1.2 更新系统与安装必备工具
      • 1.3 网络连接验证
    • 1.4 配置主机名
    • 1.5 同步时间
    • 1.6 配置iptables防火墙
      • 1.6.1 手动配置iptables防火墙
      • 1.6.2 使用脚本自动化配置防火墙
    • 1.7 永久关闭SELinux
  • 总结


前言

你有没有过这样的体验:新买的笔记本电脑到手,第一件事是换个顺手的浏览器、装齐办公软件、调准系统时间,不然连传个文件、查个资料都觉得 “卡手”?新服务器其实和新电脑一样,刚到手时就像个 “空白画布”—— 默认的软件源在国外,下一个小工具要等半天,堪比用拨号网加载视频;想用 vim 改个配置文件,系统提示 “没装”,想用 wget 下点东西,又得先折腾安装;更别说主机名还是一串没意义的字符,时间也跟本地差着好几个小时,后续查日志时对着 “穿越” 的时间戳一头雾水,远程管理时连 “这台是哪台” 都分不清。

服务器初始化,本质上就是给这台 “专业设备” 做 “个性化开荒”:把国外的软件源换成国内的 “高速通道”,让下载从 “龟速” 变 “秒速”;装齐 vim、net-tools 这些 “常用工具包”,就像给电脑装了 Office、压缩软件,不用每次要用时临时找替代方案;调准时间、改个好记的主机名,是给服务器 “贴好标签、对好时钟”,后续管理时一眼认得出、查日志时不糊涂;最后配好防火墙,相当于给服务器装了 “智能门锁”,只让有用的流量进来,挡住乱七八糟的风险。

这些看似琐碎的步骤,其实是给后续所有操作 “铺好路”。要是跳过这一步,等后面搭网站时发现下载慢到崩溃,或者跑服务时因为时间不准导致日志混乱,再回头补配置,只会更麻烦。本文就以 CentOS 7 为例,把服务器初始化的每一步拆成 “家常操作”,帮你轻松把新服务器从 “半成品” 变成 “好用又省心” 的专业设备。


一、服务器初始化

1.1 配置国内 Yum 源(加速软件安装)

将默认的国外源替换为国内源(如阿里云、清华源),可以显著提升软件包的下载速度。

1.1.1 使用阿里云源

# 1. 备份原有的源文件
sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 2. 下载阿里云的 CentOS 7 源文件
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# 3. 安装并配置 EPEL 源
sudo yum install -y epel-release
sudo sed -e 's|^metalink=|#metalink=|g' \-e 's|^#baseurl=|baseurl=|g' \-e 's|^//download.fedoraproject.org/pub|//mirrors.aliyun.com|g' \-e 's|http://download.example|https://mirrors.aliyun.com|g' \-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo# 4. 清理并重建缓存
sudo yum clean all
sudo yum makecache

在这里插入图片描述
在这里插入图片描述

在有自己的源的情况下,可以使用以下方法进行阿里云的 CentOS 7 镜像配置

在这里插入图片描述
在这里插入图片描述

1.1.2 使用清华源(可选)

将上述第2步命令替换为:

sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo

1.2 更新系统与安装必备工具

系统更新可获取最新的安全补丁,安装常用工具便于后续维护和开发。

# 1. 更新系统(不建议在实际环境中使用,安装常用的即可)
sudo yum update -y# 2. 安装常用工具
yum install -y vim-enhanced wget curl telnet net-tools bash-completio lsof sysstat htop tree git unzip lrzsz
  • vim-enhanced 加强版的vi编辑器
  • wget 命令行下载工具
  • curl 网络数据传输工具
  • telnet 网络诊断工具
  • net-tools 包含ifconfig等网络工具
  • bash-completion 命令自动补全增强
  • lsof 列出打开的文件
  • sysstat 系统性能监控工具(包含iostat, sar等)
  • htop 交互式进程查看器(比top更好用)
  • tree 以树状图列出目录内容
  • git 版本控制工具
  • unzip 解压zip文件
  • lrzsz 提供sz(下载)、rz(上传)命令,方便Xshell等终端传输文件
    在这里插入图片描述

1.3 网络连接验证

确保服务器能正常访问外网和解析域名。

# 1. 查看IP地址
ip addr show
# 或
ifconfig# 2. 测试外网是否连通,如果出现问题检查文件/etc/sysconfig/network-script/ifcfg-ens33是否存在错误
ping -c 4 www.baidu.com

在这里插入图片描述

1.4 配置主机名

设置主机名便于识别和管理服务器。

# 1. 查看当前主机名
hostname# 2. 设置新主机名
sudo hostnamectl set-hostname [任意名称]# 3. 修改 hosts 文件
sudo vim /etc/hosts
# 如添加:192.168.10.123 tb-tomcat1# 4. 立即生效
bash

在这里插入图片描述
在这里插入图片描述

1.5 同步时间

保证服务器时间准确,对日志和证书等至关重要。

# 1. 安装 chrony
sudo yum install -y chrony# 2. 启动并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd# 3. 立即同步时间
sudo chronyc -a makestep# 4. 查看同步状态或时间
sudo chronyc sources -v
date

在这里插入图片描述

1.6 配置iptables防火墙

1.6.1 手动配置iptables防火墙

在 CentOS 7 中配置 iptables 是一项经典而实用的技能。尽管系统默认采用 firewalld,但许多管理员更青睐 iptables 的简洁性和直接控制方式。

使用以下命令可以手动一步步配置iptables防火墙的初始化:

# 1. 关闭 firewalld
sudo systemctl stop firewalld
sudo systemctl disable firewalld# 2. 安装 iptables-services
sudo yum install -y iptables-services# 3. 设置默认策略(注意先放行SSH)
sudo iptables -P INPUT DROP # 默认拒绝所有进来的流量
sudo iptables -P FORWARD DROP # 默认拒绝所有转发的流量
sudo iptables -P OUTPUT ACCEPT # 默认允许所有出去的流量
sudo iptables -A INPUT -i lo -j ACCEPT #允许所有本地回环(lo)接口的通信,这是系统内部通信所必需的
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的和相关联的连接通过。这条规则至关重要!它允许对外请求的返回数据包进入,否则无法正常上网和使用大多数服务。# 4. 放行常用端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT #ssh
sudo iptables -A INPUT -p icmp -j ACCEPT #ping
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT #http
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT #https# 5. 保存并重启
sudo service iptables save
sudo systemctl start iptables
sudo systemctl enable iptables

1.6.2 使用脚本自动化配置防火墙

如果你厌倦了重复化的配置,也可以编译一个脚本进行自动化的配置

将以下内容保存为脚本文件(如 setup_iptables.sh),执行前请务必注意:

  1. 在安全环境(如本地虚拟机)中先行测试
  2. 确保已放行SSH连接(远程操作时)
  3. 确认当前环境符合配置要求
#!/bin/bash# 停止firewalld
echo "Stopping firewalld..."
systemctl stop firewalld
systemctl disable firewalld# 安装iptables-services
echo "Installing iptables-services..."
yum install -y iptables-services# 设置默认策略和基础规则
echo "Setting up iptables rules..."
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 添加放行规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT    # SSH
iptables -A INPUT -p icmp -j ACCEPT              # ICMP (Ping)
iptables -A INPUT -p tcp --dport 80 -j ACCEPT    # HTTP
iptables -A INPUT -p tcp --dport 443 -j ACCEPT   # HTTPS
# 在此添加你需要的其他规则...# 保存并启用
echo "Saving rules and enabling service..."
service iptables save
systemctl start iptables
systemctl enable iptablesecho "Configuration complete! Current rules:"
iptables -vnL

给脚本执行权限并运行:

chmod 744 setup_iptables.sh
sudo ./setup_iptables.sh

在这里插入图片描述
在这里插入图片描述

1.7 永久关闭SELinux

最后一步,永久关闭SELinux,在存在企业级防火墙的今天,SELinux的功能已经成为了阻碍,时常会因为SELinux,出现不明所以的错误,所以永久关闭它是很必要的。

vim /etc/sysconfig/selinux

在这里插入图片描述


总结

服务器的初始化,从来不是简单的 “敲命令、改配置”,而是一场关于 “秩序与安全” 的提前布局。就像盖房子要先打地基,默认的国外 Yum 源是 “绕远的路”,未安装的工具是 “缺失的建材”,混乱的主机名与时间是 “错位的坐标”,未配置的防火墙是 “敞开的大门”—— 这些看似微小的 “漏洞”,都会在后续使用中逐渐放大,变成效率的瓶颈、安全的隐患。

我们替换国内 Yum 源,是在 “选择更优的路径”;安装基础工具,是在 “储备解决问题的能力”;同步时间、修改主机名,是在 “建立清晰的认知坐标”;配置防火墙,是在 “划定安全的边界”。每一步操作,都是在为服务器构建 “稳定运行的底层逻辑”:效率源于提前的优化,安全源于主动的防御,有序源于细致的规划。

当所有初始化步骤完成,服务器不仅是一台硬件设备,更成为一个 “有准备、有秩序、有防护” 的系统。这恰如我们面对任何新任务、新环境:提前扫清障碍,储备必要能力,建立清晰规则,才能在后续的 “运行” 中,从容应对挑战,避免因 “基础不牢” 而陷入被动。此时的服务器,已不止是承载服务的载体,更是 “未雨绸缪” 这一理念的具象化 —— 好的开始,永远是成功的一半。

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

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

相关文章

如何避免MyBatis二级缓存中的脏读

避免 MyBatis 二级缓存中的脏读问题(即缓存数据与数据库实际数据不一致),需要从缓存更新机制、配置策略、业务设计等多维度入手。以下是经过实践验证的解决方案,结合底层原理和具体实现:一、理解二级缓存脏读的根源脏读…

Python实现RANSAC进行点云直线、平面、曲面、圆、球体和圆柱拟合

本节我们分享使用RANSAC算法进行点云的拟合。RANSAC算法是什么?不知道的同学们前排罚站!(前面有)总的来说,RANSAC(Random Sample Consensus)是一种通用的迭代鲁棒估计框架,无论拟合何种几何模型&#xff0c…

实验2 天气预报

实验1 天气预报一、实验目标二、实验步骤(一)准备工作(二)小程序开发项目创建页面配置视图设计逻辑实现三、程序运行结果四、问题总结与体会主要问题及解决方案主要收获chunk的博客地址一、实验目标 1、掌握服务器域名配置和临时…

【CVE-2025-5419】(内附EXP) Google Chrome 越界读写漏洞【内附EXP】

前言 近日,奇安信CERT监测到Google Chrome中曝出一枚高危安全漏洞(CVE-2025-5419,QVD-2025-21836),该漏洞属于越界读写问题,攻击者只需通过构造恶意网页,就可能触发漏洞,从而绕过Chrome的沙箱防护,直接实现远程代码执行,最终完全控制用户设备。目前,安全社区已确认…

【科研绘图系列】R语言在海洋生态学中的应用:浮游植物糖类组成与溶解性有机碳的关系

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍 数据准备 数据处理 糖类组成随年龄的变化 糖类组成与DOC含量的关系 数据可视化 加载R包 数据下载 导入数据 数据预处理 画图 总结 系统信息 介绍 本教材通过R语言及其强大的数据…

webpack文件指纹:hash、chunkhash与contenthash详解

文件指纹就是打包后输出文件的后缀,每次构建都会生成不同的文件后缀,这样可以防止浏览器的默认缓存,使客户端代码可以及时修改。文件指纹的三种方式:‌ hash ‌:基于整个项目构建内容生成全局哈希值,任何文…

Pytest 插件怎么写:从0开发一个你自己的插件

概述 你用过 pytest-html 生成报告,或用 pytest-xdist 并行运行测试吗?这些强大的功能,其实都是 Pytest 插件 这些都是我们引入项目后直接使用的,当然 你也可以自己写一个 Pytest 插件 基本原理 Pytest 的强大,源于它的 插件系统。它允许你通过定义特定的函数(称为 H…

Java:IO流——基础篇

目录 前言 一、File 类 1、概述 ①构造方法 ②实例对象 2、使用 ①查看名称、路径、长度 ②判断、创建和删除操作 ③目录遍历操作 二、IO流 1、流的概念 2、流的分类 ①按数据流向 ②按数据类型 ③按功能 3、字节流 ⑴FileInputStream——文件输入流 ⑵FileOutputStream——文件…

数据挖掘 5.1~5.2 PCA——前言

5.1 Twelve ways to fool the masses 5.1 愚弄大众的十二种方法 5.2.1 Prelim: Old MacDonald meets Lagrange 5.2.1 前言:老麦克唐纳遇见拉格朗日 5.2. Prelim: Meet stubborn vectors 5.2. 前言:遇见顽固向量 5.2.3 Prelim: Covariance and its friend…

DeepSeek分析

(非走向数字时代,融入数字生活,构建数字生态的分解,只是感觉可以分享给大家---因此现设置VIP,旺海涵) 这是deepseek刚爆的时候,春节紧急对其做的分析。 内容还是私藏状态,做了初步评估,感觉可以分享给大家!!! 但是非共享的构建数字生态的核心,因此添加了vip设置…

2025第五届人工智能、自动化与高性能计算国际会议 (AIAHPC 2025)

重要信息 官网:www.aiahpc.org 时间:2025年9月19-21日 地点:中国合肥 主题 1、高性能计算 并行和分布式系统架构 高性能计算的语言和编译器 并行和分布式软件技术 并行和分布式算法 嵌入式系统 计算智能 点对点计算 网格和集群计算…

CORS解决跨域问题的多个方案 - nginx站点配置 / thinkphp框架内置中间件 / 纯前端vue、vite的server.proxy代理

效果图 跨域报错 跨域解决 方案实测 1. nginx、apache站点配置 > OK 2. thinkphp框架内置中间件 “跨域请求支持” > OK 3. 纯前端vue、vite的server.proxy代理 > 不OK 方案具体设置 1. nginx、apache站点配置 > OK 修改nginx服务器的站点的跨域信息 日志下…

什么是Omni-Hub?一套面向“万物智联”时代的操作系统级方法论

Omni-Hub(中文常译“全向中枢”),是一套面向未来数字化生态的开放型系统级框架,由“Omni”(全域、全向、全模态)与“Hub”(中枢、枢纽)组合而成,旨在通过统一接口、协议与…

ARP地址解析协议

工作原理ARP是一个封装于数据链路层的二层协议,其目的主要是将IP地址解析为MAC地址,通过广播🔉询问Who is x.x.x.x,对方收到后单播回应自己的mac地址动态ARP动态ARP通过ARP协议自动学习和维护IP与MAC的映射关系,表项具…

PortSwigger靶场之Blind SQL injection with out-of-band interaction通关秘籍

一、题目分析 该实验室存在一个盲 SQL 注入漏洞。该应用程序使用跟踪 cookie 进行分析,并执行包含所提交 cookie 值的 SQL 查询。该 SQL 查询是异步执行的,不会对应用程序的响应产生影响。不过,我们可以与外部域触发非带内交互。要解决此漏洞…

笔试-笔记3

1.在以下声明中哪一个表示“指向常量的指针”(指针指向的内容不能修改)? A.char* const p B.const char* p C.char *p const D.char const p 解析: 选B,const修饰的变量为常量,意味着不能修改 A是常量指针,const修饰的…

Linux正则表达式

文章目录一、Linux正则表达式与三剑客知识1.什么是正则表达式?2.为什么要学习正则表达式?3.有关正则表达式容易混淆的事项4.学习正则表达式注意事项5. 正则表达式的分类5.1 基本的正则表达式(BRE)集合6. 正则表达式测试题7. 扩展正…

MATLAB Figure画布中绘制表格详解

文章目录 1 使用uitable创建带有样式和颜色映射的表格 2 使用imagesc和text创建自定义表格 3 使用patch和text创建完全自定义的表格 4 代码详细讲解 4.1 使用uitable 4.2 使用imagesc和text 4.3 使用patch和text 5 颜色映射技巧 5.1 使用内置颜色映射 5.2 自定义颜色映射函数 5…

Python在语料库建设中的应用:文本收集、数据清理与文件名管理

一、问题的提出在日常语言学习与教学中,语料库是一个不可或缺的工具。它可以帮助我们查找高频词,获取搭配信息、例句信息、关键词信息等。由于建库过程操作步骤多,有时还要用到图片识别、格式转化、文本清理等技巧,很多人往往都止…

STL——priority_queue的使用(快速入门详细)

目录 前言 一、基本知识 二、使用 前言 priority_queue是在queue库里的,所以使用的时候要包含queue头文件。使用方法和堆类似,因为它的底层其实就是大根堆。 一、基本知识 优先队列优先级队列是一种容器适配器,根据一些严格的弱排序标准&…