CentOS7 安装和配置教程

CentOS7 安装和配置教程

第一部分:安装准备

1. 下载CentOS 7镜像

2. 创建安装介质

  • 实体机安装:使用USB闪存盘(推荐):
bash 复制代码
# 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. 编辑网络配置文件:
bash 复制代码
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  1. 主要修改以下内容:
bash 复制代码
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. 重启网络服务:
bash 复制代码
sudo systemctl restart network

3. 防火墙配置

bash 复制代码
#查看状态
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. 基础工具
bash 复制代码
~]# 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. 开发环境
bash 复制代码
#开发工具组
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. 服务软件
bash 复制代码
#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(可选)
bash 复制代码
#查看
~]# getenforce
Enforcing
#临时关闭
~]# setenforce 0
#修改配置文件永久关闭
~]# vi /etc/selinux/config
#修改为:SELINUX=disabled
~]# reboot
  1. SSH安全加固
bash 复制代码
sudo vi /etc/ssh/sshd_config

建议修改:

bash 复制代码
Port 2222  # 更改默认端口
PermitRootLogin no
PasswordAuthentication no  # 使用密钥认证

重启服务:

bash 复制代码
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源。
bash 复制代码
curl 没有界面的浏览器
curl www.baidu.com
bash 复制代码
# 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.repo

yum 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. 时间不同步:
bash 复制代码
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 本地安装软件