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

CentOS7 安装和配置教程

CentOS7 安装和配置教程

  • 第一部分:安装准备
    • 1. 下载CentOS 7镜像
    • 2. 创建安装介质
  • 第二部分:安装步骤
    • 1. 在VMeare上安装CentOS-7-x86_64-Minimal
    • 2. 安装配置
    • 3. 安装过程
  • 第三部分:初始配置
    • 1. 首次启动设置
    • 2. 网络配置
    • 3. 防火墙配置
  • 第四部分:常用软件安装
  • 第五部分:系统优化
  • 第六部分:常见问题解决
  • 第七部分:重要目录说明

第一部分:安装准备

1. 下载CentOS 7镜像

  • 访问官方镜像站点:
    • 官网:https://www.centos.org/download/
    • 镜像站:http://mirrors.centos.org/
    • 阿里云:https://mirrors.aliyun.com/centos/7/isos/x86_64/
  • 选择适合的版本:
    • DVD ISO:标准安装镜像(约4GB)
    • Minimal ISO:最小化安装(约900MB)
    • Everything ISO:包含所有软件包(约10GB)

2. 创建安装介质

  • 实体机安装:使用USB闪存盘(推荐):
# Linux下使用dd命令(替换sdX为您的USB设备)
dd if=CentOS-7-x86_64-DVD-2009.iso of=/dev/sdX bs=4M status=progress && sync# Windows下使用Rufus工具(https://rufus.ie/)
  • 使用虚拟机:
    • 在VMware/VirtualBox中新建虚拟机
    • 选择下载的ISO文件作为安装源

第二部分:安装步骤

1. 在VMeare上安装CentOS-7-x86_64-Minimal

  1. 在VMware新建虚拟机,选择自定义后点击下一步:
    在这里插入图片描述

  2. 选择虚拟机硬件兼容性,根据VMware版本,安装向导会自动选择
    在这里插入图片描述

  3. 选择下载的ISO文件作为安装源
    在这里插入图片描述

  4. 命名虚拟机及路径选择
    在这里插入图片描述

  5. 处理器配置
    在这里插入图片描述

  6. 虚拟内存配置
    在这里插入图片描述

  7. 网络类型选择,默认选择NAT类型,也可稍后在设置中变更
    在这里插入图片描述

  8. 选择I/O控制器类型(默认)
    在这里插入图片描述

  9. 选择磁盘类型(默认)
    在这里插入图片描述

  10. 选择磁盘
    在这里插入图片描述

  11. 指定磁盘容量
    在这里插入图片描述
    若勾选立即分配所有磁盘空间的话,会马上分配磁盘空间,一般不勾选,就是自增长模式。

  12. 指定磁盘文件
    在这里插入图片描述

  13. 列出准备创建虚拟机的设置信息,点击完成
    在这里插入图片描述

  14. 启动虚拟机
    在这里插入图片描述
    在这里插入图片描述

  15. 选择安装语言(建议英文)
    在这里插入图片描述

  16. 提示:请先完成带有图标标记的项目,然后再继续下一步
    在这里插入图片描述

2. 安装配置

  1. DATE & TIME,选择时区(Asia/Shanghai)
    在这里插入图片描述
    网络时间协议(NTP),如果未来是虚拟机上部署应用请务必开启网络时间协议,否则虚拟机服务器上的时间很快就不准,时间不准必然会给应用带来很大的问题。

  2. KEYBOARD,键盘布局保持默认(US)
    在这里插入图片描述

  3. LANGUAGE SUPPORT,选择Englisg
    在这里插入图片描述

  4. INSTALLATION SOURCE,选择自动检测安装介质
    在这里插入图片描述
    可以 Verify 一下
    在这里插入图片描述
    在这里插入图片描述

  5. SOFTWARE SELECTION(服务选择)
    在这里插入图片描述
    最小化安装,不多占用磁盘任何一个字节,后面需要什么再装什么。

  6. NETWORK & HOSTNAME

    • 设置主机名(如centos7.localdomain)
    • 启用网络连接(以太网默认已启用)

在这里插入图片描述

  1. INSTALLATION DESTINATION(安装位置)
  • 自动分区(推荐新手)
  • 手动分区/boot:500M
    • /:20-50GB
    • swap:交换分区,就是虚拟内存,把磁盘当作内存用。内存大小的1-2倍(不超过8GB)
    • /home:剩余空间
    • /data:假如以后有很多用户数据,磁盘不够,可以用这样的目录单独挂载分区选择:I will configure partitioning,点击完成
      在这里插入图片描述选择:标准分区方式
      在这里插入图片描述
      点击 + 号,配置 /boot 分区
      在这里插入图片描述
      配置 / 分区
      在这里插入图片描述
      配置 /home 分区
      在这里插入图片描述
      配置 swap 交换分区,就是虚拟内存,把磁盘当作内存用。内存大小的1-2倍(不超过8GB)
      在这里插入图片描述
      除交换分区外,将其它分区的文件系统设置为ext4
      在这里插入图片描述
      点击 Done
      在这里插入图片描述
      摧毁原文件系统,即格式化,然后进行分区,选择接受这些变更
  1. 点击开始安装
    在这里插入图片描述

3. 安装过程

  1. 开始安装
    在这里插入图片描述

  2. 设置root密码(必须)
    在这里插入图片描述

  3. 创建普通用户(可选但推荐)
    在这里插入图片描述

  4. 等待安装完成(10-30分钟)
    在这里插入图片描述

  5. 点击"Reboot"重启系统
    在这里插入图片描述

第三部分:初始配置

1. 首次启动设置

  1. 接受许可证协议
  2. 完成初始设置(如有GUI)

2. 网络配置

想跟别人通讯,网络是首先必须要搞定的事情。

  1. 进入虚拟机 -> 设置 -> 网络适配器,选择网络连接模式并将已连接和启动时连接的勾打上
    在这里插入图片描述

  2. 判断网卡有没有正常工作,能不能正常通讯
    ip addr
    在这里插入图片描述

    • 1: IO 本地网卡,不对外
    • 2: ens33,对外网卡,网卡虽然有,但ip地址没有那就不可以通信,对于服务器来说要手动分配IP地址,不要DHCP动态生成,应该使用静态的IP地址
      宿主机上有一个虚拟网卡,用来和虚拟机通讯用的,ip ...1
      虚拟机 ip ..
      .129
      同一个网段可直接通讯不需要网关

静态IP配置(如需):

  1. 编辑网络配置文件:
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  1. 主要修改以下内容:
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
  1. 重启网络服务:
sudo systemctl restart network

3. 防火墙配置

#查看状态
sudo systemctl status firewalld#启动防火墙
sudo systemctl start firewalld#设置开机启动
sudo systemctl enable firewalld#开放端口示例(SSH)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload#关闭防火墙
~]# systemctl stop firewalld # 停止当前服务
~]# systemctl disable firewalld # 禁用服务,即开机不启动

第四部分:常用软件安装

  1. 基础工具
~]# yum install -y vim wget curl
~]# yum install -y epel-release
~]# yum install -y lsof
~]# yum install -y net-tools
~]# yum install -y bash-completion
  1. 开发环境
#开发工具组
sudo yum groupinstall -y "Development Tools"#Python3
sudo yum install -y python3 python3-pip#Java
sudo yum install -y java-1.8.0-openjdk-devel
  1. 服务软件
#Web服务器
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd#数据库(MySQL/MariaDB)
sudo yum install -y mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo mysql_secure_installation

第五部分:系统优化

  1. 关闭SELinux(可选)
#查看
~]# getenforce
Enforcing
#临时关闭
~]# setenforce 0
#修改配置文件永久关闭
~]# vi /etc/selinux/config
#修改为:SELINUX=disabled
~]# reboot
  1. SSH安全加固
sudo vi /etc/ssh/sshd_config

建议修改:

Port 2222  # 更改默认端口
PermitRootLogin no
PasswordAuthentication no  # 使用密钥认证

重启服务:

sudo systemctl restart sshd
  1. 配置yum镜像源
    YUM(Yellow Dog Updater,Modified),在rpm包管理之上增强的包管理器,能自动查询下载包,并自动处理依赖关系。YUM使用Python2.x编写。YUM必须配置源,要从源服务器下载包。
    主配置文件:/etc/yum.conf
    自定义配置文件必须扩展名为repo,并放在/etc/yum.repos.d目录下,yum会读取/etc/yum.repos.d/目录下所有.repo的文件。
    连接阿里云镜像,使用网络的yum源。
curl 没有界面的浏览器
curl www.baidu.com
# CentOS 7 源
~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo# CentOS 8
~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo# epel 源
~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repoyum clean all # 清理本地缓存数据库,表示打算与远程重新同步
yum makecache # 生成缓存,例如会和阿里云通讯将阿里元的数据库dump下来
yum list |grep vim # 优先用本地的,没有再用远程的
yum install vim -y # -y表示不要出现交互直接yes
yum repolist # 将仓库列出显示
yum list vim

第六部分:常见问题解决

  1. 网络无法连接:
    ○ 检查ifconfig是否安装(yum install net-tools)
    ○ 确认NetworkManager服务运行(systemctl start NetworkManager)
  2. yum速度慢:
    ○ 更换国内镜像源(如上所述)
    ○ 清除缓存(yum clean all)
  3. 时间不同步:
sudo yum install -y ntp
sudo systemctl start ntpd
sudo systemctl enable ntpd
  1. 磁盘空间不足:
    ○ 清理yum缓存(yum clean all)
    ○ 清理旧内核(package-cleanup --oldkernels --count=1)

第七部分:重要目录说明

目录 用途
/etc 系统配置文件
/var/log 系统日志文件
/home 用户主目录
/root root用户主目录
/opt 附加软件安装目录
/usr/local 本地安装软件

http://www.xdnf.cn/news/16661.html

相关文章:

  • USRP X410 X440 5G及未来通信技术的非地面网络(NTN)
  • Matplotlib(三)- 图表辅助元素
  • 经典算法题解析:从思路到实现,掌握核心编程思维
  • 天学网面试总结 —— 前端开发岗
  • Go 语言-->指针
  • 【2025/07/28】GitHub 今日热门项目
  • 【服务器知识】nginx配置ipv6支持
  • 大模型的开发应用(十九):AIGC基础
  • 【Spring WebFlux】 三、响应式流规范与实战
  • Java 笔记 serialVersionUID
  • ADB+Python控制(有线/无线) Scrcpy+按键映射(推荐)
  • 服务器查日志太慢,试试grep组合拳
  • 时序数据库选型指南:工业大数据场景下基于Apache IoTDB技术价值与实践路径
  • 5 分钟上手 Firecrawl
  • 【办公类-109-01】20250728托小班新生挂牌(学号姓名)
  • API产品升级丨全知科技发布「知影-API风险监测平台」:以AI重构企业数据接口安全治理新范式
  • 企业级日志分析系统ELK
  • Pycaita二次开发基础代码解析:点距测量、对象层级关系与选择机制深度剖析
  • 基于DeepSeek大模型和STM32的矿井“围压-温度-开采扰动“三位一体智能监测系统设计
  • 边缘计算+前端实时性:本地化数据处理在设备监控中的响应优化实践
  • vue element 封装表单
  • STM32时钟源
  • GaussDB as的用法
  • 【氮化镓】GaN同质外延p-i-n二极管中星形与三角形扩展表面缺陷的电子特性
  • 力扣 hot100 Day58
  • LeetCode 2044.统计按位或能得到最大值的子集数目:二进制枚举/DFS回溯(剪枝)
  • 介绍一下static关键字
  • IP协议解析:从寻址到路由
  • MCP协议全景解析:从工业总线到AI智能体的连接革命
  • 【基础篇三】WebSocket:实时通信的革命