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.pswp.cn/bicheng/91056.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/91056.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/91056.shtml

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

相关文章

clock_getres系统调用及示例

39. clock_getres - 获取时钟精度 函数介绍 clock_getres系统调用用于获取指定时钟的精度&#xff08;分辨率&#xff09;。它返回时钟能够表示的最小时间间隔。 函数原型 #include <time.h>int clock_getres(clockid_t clk_id, struct timespec *res);功能 获取指定时钟…

MCU+RTOS调试

1. 引言在做项目时&#xff0c;百分之三十的时间写代码&#xff0c;还有百分之70的时间用于调试。本期将以Keil为例进行调试章节的讲解&#xff0c;目的在于做出一个标准化的调试步骤&#xff0c;方便大家学习如何调试代码。内容分为基础调试、中级调试及进阶调试三部分&#x…

Redis的数据淘汰策略是什么?有哪些?

1.监测设置了TTL的数据volatile-lru&#xff1a;淘汰最近最少使用的数据volatile-lfu&#xff1a;淘汰最近使用次数最少的数据volatile-ttl&#xff1b;淘汰将要过期的数据volatile-random&#xff1a;随机淘汰2.监测全库数据allkeys-lru&#xff1a;淘汰最近最少使用的数据all…

相控阵波束跃度指向误差Matlab仿真

波束跃度影响&#xff1a;TR芯片移相器位数、阵元数量、校准后阵元初始相位、TR芯片移相器精度、波控计算精度等。用MATLAB进行TR芯片移相器位数、阵元数量对指向误差进行仿真。 close all; %线阵波束跃度仿真 20250726 %beam displacement % 波束跃度影响&#xff1a;TR芯片移…

板凳-------Mysql cookbook学习 (十二--------6)

MySQL 8 导入二进制文件(trailer.ogv)操作指南 在MySQL中导入二进制文件(如trailer.ogv视频文件)通常有几种方法&#xff0c;我将详细介绍每种方法的操作步骤。 方法一&#xff1a;使用LOAD_FILE函数导入BLOB字段 这是最直接的方法&#xff0c;适合中小型二进制文件。sql - 1. …

昇思学习营-【模型推理和性能优化】学习心得_20250730

一、权重的加载 模型包含两部分&#xff1a; base model 和 LoRA adapter 其中base model的权重在微调时被冻结&#xff0c; 推理时加载原权重即可&#xff0c;LoRA adapter可通过PeftModel.from_pretrained进行加载。 二、启动推理 通过model.generate&#xff0c;启动推理…

[AI8051U入门第十一步]W5500-服务端

学习目标: 1、连接TCP/IP 2、学习W5500作为服务端代码一、TCP/IP介绍 TCP/IP 协议栈介绍 TCP/IP(Transmission Control Protocol / Internet Protocol)是互联网通信的核心协议族,定义了数据如何在网络中进行传输和路由。它由多个协议组成,采用分层架构,确保不同设备之间…

C 标准库 <time.h> 函数详解

目录 概述 1 核心数据类型 1.1 time_t 1.2 clock_t 1.3 struct tm 1.4 size_t 2 核心函数 2.1 时间获取函数 2.2 时间转换函数 2.3 时间差计算 2.4 时间格式化函数 3 线程安全版本&#xff08;POSIX 扩展&#xff09; 3.1 函数列表 3.2 时间处理完整示例 4 重要…

基于BEKK-GARCH模型的参数估计、最大似然估计以及参数标准误估计的MATLAB实现

基于BEKK-GARCH模型的参数估计、最大似然估计以及参数标准误估计的MATLAB实现。BEKK-GARCH模型是一种多变量GARCH模型&#xff0c;用于估计多个时间序列的条件方差和协方差矩阵。 MATLAB实现BEKK-GARCH模型 1. 准备数据 假设你已经有一个时间序列数据矩阵 returns&#xff0c;每…

TDengine 中 TDgpt 用于异常检测

介绍 TDgpt 内置时序数据异常检测模型 TDengine 中定义了异常&#xff08;状态&#xff09;窗口来提供异常检测服务。异常窗口可以视为一种特殊的事件窗口&#xff08;Event Window&#xff09;&#xff0c;即异常检测算法确定的连续异常时间序列数据所在的时间窗口。与普通事件…

统计学08:概率分布

一、随机变量随机变量是一个将 随机事件 映射到 数值 的数学函数&#xff0c;用于描述事件的结果。随机变量可以是离散的&#xff08;如骰子&#xff09;或连续的&#xff08;如人的身高、体重&#xff09;。1&#xff09;概率质量函数PMF——离散随机变量P(X x) 对应于某个值…

vue3【组件封装】消息反馈 S-msgWin.vue (针对父容器对齐,左右居中,可自定义顶部距离)

最终效果成功的提示报错的提示代码实现components/SUI/S-msgWin.vue <script lang"ts" setup> const props defineProps({msg: {type: Object,required: true,},top: {type: String,default: "50%",},duration: {type: Number,default: 3000,}, });…

MySQL 8.0.42创建MGR集群

MySQL 8.0.42创建MGR集群 概述 关于MySQL MGR集群的介绍就不在这里做详细的介绍了&#xff0c;大家可以自己到官网上查看阅读。在这里主要是实际操作方面的内容 总体结构设计如下图服务器节点信息序号角色IP地址数据库端口MGR端口1主节点192.168.56.1043309100612从节点192.168…

《Go Web编程实战派--从入门到精通》的随笔笔记

第二章 Go Web 开发基础2.1第一个Go Web 程序package mainimport ("fmt""net/http" )func hello(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "Hello World") } func main() {server : &http.Server{Addr: "0.0.0.0:80&q…

MySQL在Linux环境下的性能调优

&#x1f4ca; MySQL性能基准测试&#xff1a;知己知彼建立性能基线的关键指标# 核心性能指标监控脚本 #!/bin/bash echo " MySQL Performance Baseline " mysql -e "SHOW GLOBAL STATUS LIKE Questions;" mysql -e "SHOW GLOBAL STATUS LIKE Uptime;…

PyQt事件处理机制深度指南:超越信号与槽的底层掌控

—— 5大核心策略实战案例&#xff0c;解锁GUI交互的底层密码 &#x1f50d; 事件与信号槽的本质差异维度事件处理机制信号与槽机制抽象层级操作系统消息的原始封装对事件的高级封装应用场景控件行为定制/底层交互常规业务逻辑绑定执行顺序先于信号槽触发在事件处理完成后触发性…

10_opencv_分离颜色通道、多通道图像混合

split() 通道分离 void cv::split(const Mat & src,Mat * mvbegin ) merge() 通道合并 void cv::merge(InputArrayOfArrays mv,OutputArray dst ) Mat::at()方法 Mat::at()方法返回一个引用到指定的数组元素。 注意是引用&#xff0c;相当于两者等价&#xff0c;也就是…

Kotlin的datetime库

kotlinx 是一组不是 Kotlin 标准库一部分&#xff0c;但非常实用的扩展项目集合。其中&#xff0c;kotlinx-datetime 是一个跨平台的 Kotlin 时间日期处理库。 如何在项目中使用该库 Gradle 项目中 在 repositories 块中添加 Maven Central 仓库&#xff1a; repositories {…

基于模型蒸馏的大模型文案生成最佳实践

背景 大语言模型在生成高质量文案方面表现优异&#xff0c;然而其巨大的计算资源消耗和存储需求&#xff0c;使得实际应用尤其是在资源受限场景中的应用充满挑战。企业在寻求高效的文案生成时&#xff0c;常常面临着在性能和资源之间权衡的困境。在这种背景下&#xff0c;模型…

调用通义千问大模型实现流式对话

前言 我使用的是硅基流动中通义千问免费的大模型&#xff1a;我的技术栈使用的 Next14.2 全栈框架。 代码结构 需要使用的库&#xff1a; npm i ai openai目录结构&#xff1a; 基础测试页面 test-openai/page.tsx&#xff1a; use client;import { useChat } from ai/react;ex…