当前位置: 首页 > java >正文

基于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.xdnf.cn/news/18861.html

相关文章:

  • 从零开始学MCP(7) | 实战:用 MCP 构建论文分析智能体
  • Java 大视界 -- Java 大数据机器学习模型在金融市场波动预测与资产配置动态调整中的应用
  • Docker:部署Java后端
  • 【笔记】大模型业务场景流程综述
  • Text to Speech技术详解与实战:GPT-4o Mini TTS API应用指南
  • 大数据毕业设计选题:基于大数据的用户贷款行为数据分析系统Spark SQL核心技术
  • SQL server 触发器的使用
  • defineCustomElement 的局限性及重载需求分析
  • Ubuntu 虚拟机配置 Git 并推送到Gitee
  • 如何利用Claude在商业项目中进行自动化客户反馈分析:一站式解决方案
  • 【R代码分析】甲烷排放绘制代码-参考论文
  • Unity游戏打包——Mac基本环境杂记
  • 实时平台Flink热更新技术——实现不停机升级!
  • 从16个粉丝到680万年收入:AI创业的117天奇迹
  • 负载均衡之带权重的随机负载均衡算法详解与实现
  • 迷你版Shell:源码详解与行为解析
  • S-HUB实现泛微E9与飞书对接
  • kafka消费顺序保障
  • 【车载开发系列】CS+ for CC开发环境IDE
  • Flask模块如何使用
  • HIDL的Car Audio架构简单梳理
  • 《2025年Windows最新最细IDE激活码永久破解教程 – 支持JetBrain全家桶2099年授权》
  • 电脑快速关机工具,一键重启休眠
  • Debian Buster 软件源失效问题
  • vue2+elementui 表格单元格增加背景色,根据每列数据的大小 颜色依次变浅显示2
  • zookeeper-保姆级配置说明
  • 深度学习篇---ResNet-18网络结构
  • 【算法--链表题1】2. 两数相加:通俗详解
  • 用大语言模型实现语音到语音翻译的新方法:Scheduled Interleaved Speech-Text Training
  • 论文Review 激光3DGS GS-SDF | IROS2025 港大-MARS!| 激光+3DGS+NeRF会得到更好的几何一致性和渲染结果!?