大家好,我是程序员小羊!
前言:
CentOS(Community ENTerprise Operating System)是一个基于 Red Hat Enterprise Linux (RHEL) 源代码的开源操作系统,主要用于服务器和企业环境。下面是一个详细的入门知识讲解,涵盖 CentOS的基础概念、常用命令、包管理、安全设置等容,帮助你理解和使用 CentOS。
1. CentOS 简介
CentOS 是一个稳定、免费的 Linux 发行版,常用于服务器和开发环境。其主要特点包括:
- 企业级稳定性:与 RHEL 相同的源代码构建,意味着它具备企业级的稳定性和性能。
- 长期支持:每个主要版本的生命周期长达十年,使其适合长周期的企业部署。
- 大规模支持:提供了从小型个人项目到大规模企业应用的广泛支持。
2. CentOS 系统安装与配置
2.1 下载与安装
在使用 CentOS 之前,你需要先安装它:
- 下载 CentOS 镜像:从 CentOS 官方网站 下载适合你的硬件架构的 ISO 镜像。
- 创建启动盘:使用工具(如 Rufus 或 UNetbootin)将 ISO 镜像写入 USB 驱动器中,制作可启动设备。
- 启动并安装:从 USB 驱动器启动系统,进入 CentOS 安装界面。按照提示选择语言、键盘布局、安装位置等,进行系统安装。
2.2 基础配置
- 设置主机名:可以使用
hostnamectl set-hostname yourhostname
设置系统主机名。 - 网络配置:使用
nmtui
工具可以轻松设置网络。也可以手动编辑/etc/sysconfig/network-scripts/
下的网络配置文件。 - 时间同步:通过
timedatectl set-timezone
设置正确的时区,并启用 NTP 时间同步服务确保系统时间准确。
3. CentOS 基础命令
在使用 CentOS 时,掌握一些常见的命令非常重要。以下是一些常用命令的介绍:
3.1 文件管理命令
ls
:列出目录中的文件和子目录。ls -l # 显示详细信息 ls -a # 显示隐藏文件
cd
:切换目录。cd /path/to/directory
cp
:复制文件或目录。cp file1 file2 # 复制文件 file1 到 file2 cp -r dir1 dir2 # 复制目录
mv
:移动文件或目录。mv file1 /path/to/destination
rm
:删除文件或目录。rm file1 # 删除文件 rm -rf dir # 强制删除目录
3.2 系统管理命令
top
:查看系统实时资源使用情况(CPU、内存等)。df
:查看磁盘空间使用情况。df -h # 以人类可读的格式显示
free
:查看内存使用情况。free -m # 以 MB 为单位显示内存使用情况
uname
:查看系统内核版本信息。uname -r # 查看内核版本
3.3 用户和权限管理
useradd
:添加新用户。useradd newuser
passwd
:为用户设置密码。passwd newuser
usermod
:修改用户属性,如用户组。usermod -aG groupname username # 将用户添加到组
chmod
:更改文件或目录的权限。chmod 755 file # 设置文件权限为 rwxr-xr-x
4. 包管理与软件安装
CentOS 使用 yum
和 dnf
(CentOS 8 后引入)作为包管理工具。
4.1 安装软件
yum install
:安装软件包。yum install httpd # 安装 Apache Web 服务器
dnf install
:安装软件包(CentOS 8 及以上)。dnf install nginx # 安装 Nginx Web 服务器
4.2 更新和卸载软件
yum update
:更新已安装的软件包。yum update
dnf remove
:卸载软件包。dnf remove package-name
4.3 查看软件包信息
yum info
:查看软件包详细信息。yum info package-name
5. 网络配置
网络是 CentOS 系统的一个重要组成部分。掌握基本的网络配置有助于管理服务器。
5.1 查看网络状态
ip a
:查看网络接口的 IP 地址信息。nmcli
:NetworkManager 命令行工具,用于网络配置。nmcli device status # 查看网络设备状态
5.2 配置静态 IP
可以通过 nmtui
工具或者手动修改网络脚本来配置静态 IP 地址:
- 编辑
/etc/sysconfig/network-scripts/ifcfg-ens33
文件:BOOTPROTO=static IPADDR=192.168.1.100 GATEWAY=192.168.1.1 DNS1=8.8.8.8
5.3 远程登录与 SSH
SSH 是远程管理 CentOS 系统的重要工具。可以使用以下命令安装并启动 SSH 服务:
- 安装 SSH 服务:
yum install openssh-server
- 启动 SSH 服务:
systemctl start sshd systemctl enable sshd # 设置开机自启
6. 防火墙与安全
安全是服务器管理的核心问题。CentOS 使用 firewalld
作为防火墙管理工具。
6.1 防火墙基础操作
- 启动防火墙:
systemctl start firewalld systemctl enable firewalld
- 查看防火墙状态:
firewall-cmd --state
- 开放指定端口:
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --reload # 重新加载防火墙规则
6.2 SELinux 安全设置
SELinux 是 CentOS 中一个重要的安全机制,用于强制访问控制。你可以通过以下命令查看和配置 SELinux:
- 查看 SELinux 状态:
sestatus
- 暂时禁用 SELinux:
setenforce 0
- 永久禁用 SELinux:修改
/etc/selinux/config
文件,将SELINUX=enforcing
改为SELINUX=disabled
。
7. 常见服务配置
7.1 Apache HTTP 服务器
- 安装 Apache:
yum install httpd
- 启动服务并设置自启动:
systemctl start httpd systemctl enable httpd
- 配置防火墙开放 80 端口,允许 HTTP 流量:
firewall-cmd --permanent --add-service=http firewall-cmd --reload
7.2 MariaDB 数据库
- 安装 MariaDB:
yum install mariadb-server
- 启动并设置 MariaDB 开机自启:
systemctl start mariadb systemctl enable mariadb
- 运行安全配置脚本:
mysql_secure_installation
7.3 Nginx 服务器
- 安装 Nginx:
yum install nginx
- 启动服务:
systemctl start nginx systemctl enable nginx
8. 日志管理
系统日志对诊断和排错非常重要。CentOS 的日志主要保存在 /var/log
目录下:
/var/log/messages
:记录系统的全局消息。/var/log/secure
:记录与安全相关的信息,包括登录、认证等。- 使用
journalctl
命令查看系统日志:journalctl -xe # 查看最近的系统错误
9. 总结
通过掌握 CentOS 的基础知识、系统管理、网络配置和安全设置等内容,你可以快速入门并有效地管理 CentOS 服务器。
结尾
今天这篇文章就到这里了,大厦之成,非一木之材也;大海之阔,非一流之归也。感谢大家观看本文