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

基于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.dtcms.com/a/352624.html

相关文章:

  • 基于51单片机的指纹红外密码电子锁
  • 【Elasticsearch】k-NN 搜索深度解析:参数优化与分数过滤实践
  • Pascal使用TMediaPlayer播放MIDI文件时的错误
  • 红外遥控模块
  • 逻辑流图、作业图、执行图、物理图
  • 嵌入式软件移植
  • 【制作100个Unity游戏】从零开始构建类《月圆之夜》《杀戮尖塔》的卡牌游戏(附带项目源码)
  • Windows远程协助安全配置与使用限制
  • STM32G4 SVPWM VF开环强拖电机
  • 2026 届最新大数据专业毕设选题推荐,毕业设计题目汇总
  • 达索 Enovia 许可管理技术白皮书:机制解析与智能优化实践
  • 段式存储、页式存储、段页式存储:三种内存管理策略的演进与权衡
  • PyTorch生成式人工智能——PatchGAN详解与实现
  • Docker实战系列:使用Docker部署YouTrack项目管理系统
  • Linux修改bootflag(启动标签)到指定分区
  • RedHat 5.7升级为PAE内核,并更新yum源
  • 软件产品线过程模型全景解析:双生命周期、SEI 与三生命周期
  • 《数据之心》——鱼小妖全传
  • 数据结构07(Java)-- (堆,大根堆,堆排序)
  • JHipster 一个基于 Yeoman 的全栈应用生成器
  • 常见软件优化功能项
  • More Effective C++ 条款09:使用析构函数防止资源泄漏
  • 用友NCC 如何通过OpenApi 上传附件
  • 【计组】总线与IO
  • 【C++】智能指针底层原理:引用计数与资源管理机制
  • 菜鸡还没有找到工作(DAY41)
  • 永磁同步电机无速度算法--高频脉振正弦波注入到两相静止坐标系
  • 全新机器人遥操作触觉感知解决方案
  • postman使用教程
  • MATLAB 实现子图不规则排列