活动公告

系统通知
05-18 21:22
系统通知
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,资源失效请在帖子内回复要求补档,会尽快处理!
10-23 09:31

Rocky Linux实例创建与操作详解 新手也能轻松上手的开源服务器部署与管理教程

SunJu_FaceMall

3万

主题

2860

科技点

3万

积分

白金月票

碾压王

积分
32872

塔罗立华奏

<font color=白金月票" /> 发表于 2025-9-21 20:40:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. Rocky Linux简介

Rocky Linux是一个社区支持的企业级操作系统,由CentOS创始人Gregory Kurtzer领导开发,旨在成为CentOS停止维护后的完美替代品。作为Red Hat Enterprise Linux (RHEL)的下游分支,Rocky Linux与RHEL二进制兼容,提供了稳定、安全且高性能的服务器环境。

1.1 Rocky Linux的特点

• 企业级稳定性:基于RHEL,提供长期支持和稳定性
• 完全开源:遵循开源理念,所有组件均可自由使用和修改
• 强大的社区支持:拥有活跃的开发和用户社区
• 无缝迁移:从CentOS迁移到Rocky Linux过程简单
• 安全性高:定期安全更新和补丁

1.2 为什么选择Rocky Linux

随着CentOS 8提前结束生命周期,许多企业和个人用户开始寻找替代方案。Rocky Linux作为CentOS的精神继承者,不仅继承了CentOS的优点,还承诺提供长期支持,使其成为服务器部署的理想选择。

2. Rocky Linux实例创建前的准备工作

在开始创建Rocky Linux实例之前,需要完成一些准备工作,确保安装过程顺利进行。

2.1 系统要求

确保你的硬件满足以下最低要求:

• 处理器:64位x86架构(至少1GHz)
• 内存:最少1GB RAM(推荐2GB以上)
• 存储空间:至少20GB可用空间
• 网络连接:稳定的互联网连接

2.2 获取Rocky Linux镜像

访问Rocky Linux官方网站(https://rockylinux.org/)下载最新的ISO镜像文件。RockyLinux提供多种版本:

• Rocky Linux DVD ISO:包含完整安装程序和软件包,适合离线安装
• Rocky Linux Minimal ISO:仅包含基本安装程序,适合在线安装或定制化安装
• Rocky Linux Boot ISO:最小启动镜像,需要网络连接完成安装

对于新手用户,推荐下载DVD ISO版本,因为它包含了大部分常用软件包,安装过程更加简便。

2.3 创建安装介质

下载完成后,需要将ISO镜像写入到USB驱动器或DVD中。以下是使用不同操作系统创建安装介质的方法:

可以使用Rufus工具来创建可启动的USB安装介质:

1. 下载并安装Rufus(https://rufus.ie/)
2. 插入至少8GB的USB驱动器
3. 打开Rufus,选择USB驱动器
4. 点击”选择”按钮,选择下载的Rocky Linux ISO文件
5. 保持默认设置,点击”开始”按钮
6. 等待过程完成

在Linux系统上,可以使用dd命令创建USB安装介质:
  1. # 首先确定USB设备名称(例如/dev/sdb)
  2. sudo fdisk -l
  3. # 卸载USB设备(如果已挂载)
  4. sudo umount /dev/sdb*
  5. # 使用dd命令写入ISO镜像
  6. sudo dd if=rocky-linux-9.x-x86_64-dvd.iso of=/dev/sdb bs=4M status=progress
复制代码

注意:请确保正确选择USB设备名称,错误的选择可能会导致数据丢失。

在macOS上,可以使用dd命令或Etcher工具创建USB安装介质:

使用dd命令:
  1. # 首先确定USB设备名称(例如/disk2)
  2. diskutil list
  3. # 卸载USB设备
  4. diskutil unmountDisk /dev/disk2
  5. # 使用dd命令写入ISO镜像
  6. sudo dd if=rocky-linux-9.x-x86_64-dvd.iso of=/dev/rdisk2 bs=4m
复制代码

2.4 虚拟机环境准备

如果你计划在虚拟机中安装Rocky Linux,需要准备以下软件之一:

• VMware Workstation(Windows/Linux)
• VirtualBox(Windows/Linux/macOS)
• Parallels Desktop(macOS)
• KVM(Linux)

以VirtualBox为例,创建虚拟机的步骤如下:

1. 下载并安装VirtualBox
2. 打开VirtualBox,点击”新建”按钮
3. 输入虚拟机名称(例如”Rocky Linux”),选择类型为”Linux”,版本为”Red Hat (64-bit)”
4. 分配内存大小(建议至少2048MB)
5. 创建虚拟硬盘(建议至少20GB)
6. 创建完成后,选择虚拟机,点击”设置”
7. 在”存储”选项中,选择控制器,点击光盘图标,选择下载的Rocky Linux ISO文件
8. 点击”确定”保存设置

3. Rocky Linux安装步骤详解

准备工作完成后,现在可以开始安装Rocky Linux。以下是在物理机或虚拟机上安装Rocky Linux的详细步骤。

3.1 启动安装程序

1. 将创建的安装介质插入计算机,或启动虚拟机
2. 重启计算机,并从安装介质启动(可能需要在BIOS/UEFI中设置启动顺序)
3. 在Rocky Linux启动菜单中,选择”Install Rocky Linux 9”并按Enter键

3.2 选择语言和键盘布局

1. 在欢迎界面,选择你偏好的语言(例如”English(United States)“)
2. 点击”Continue”继续

3.3 安装摘要

安装摘要界面显示了安装前的各项配置。以下是主要配置项:

• 点击”Keyboard”配置键盘布局
• 默认通常是”English(US)”
• 可以点击”+“添加其他键盘布局
• 完成后点击”Done”返回

• 点击”Language Support”配置系统语言
• 默认已选择英语,可以添加其他语言
• 完成后点击”Done”返回

• 点击”Time & Date”配置时区
• 在地图上点击你的位置,或从”Region”和”City”下拉菜单中选择
• 确保”Network Time”开关处于打开状态
• 完成后点击”Done”返回

• 如果你使用的是完整的DVD ISO,安装源通常会自动检测
• 如果需要配置网络安装源,点击”Installation Source”
• 选择”On the network”,输入URL(例如:http://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/)
• 完成后点击”Done”返回

• 点击”Software Selection”选择要安装的软件包
• 对于服务器环境,推荐选择”Server with GUI”或”Minimal Install”
• 在右侧可以选择额外的软件包(例如开发工具、服务器应用程序等)
• 完成后点击”Done”返回

• 点击”Installation Destination”配置磁盘分区
• 对于新手,推荐选择”Automatic”自动分区
• 如果需要手动分区,选择”Custom”并配置分区方案建议至少创建以下分区:/boot:500MB-1GB/:剩余空间的大部分swap:与内存大小相同或更大
• 建议至少创建以下分区:/boot:500MB-1GB/:剩余空间的大部分swap:与内存大小相同或更大
• /boot:500MB-1GB
• /:剩余空间的大部分
• swap:与内存大小相同或更大
• 完成后点击”Done”返回

• 建议至少创建以下分区:/boot:500MB-1GB/:剩余空间的大部分swap:与内存大小相同或更大
• /boot:500MB-1GB
• /:剩余空间的大部分
• swap:与内存大小相同或更大

• /boot:500MB-1GB
• /:剩余空间的大部分
• swap:与内存大小相同或更大

• 点击”Network & Host Name”配置网络
• 将”Ethernet”开关打开以启用网络连接
• 在”Host name”字段中输入主机名(例如”rocky-server”)
• 完成后点击”Done”返回

• 点击”Security Policy”配置安全策略
• 对于新手,可以保持默认设置
• 完成后点击”Done”返回

• Kdump是一个内核崩溃转储机制
• 如果不需要,可以禁用以节省内存
• 完成后点击”Done”返回

3.4 开始安装

完成所有配置后,点击”Begin Installation”开始安装过程。

3.5 设置用户和密码

在安装过程中,需要设置root密码和创建用户:

1. 点击”Root Password”
2. 输入并确认root密码
3. 点击”Done”返回

注意:如果密码强度不够,需要点击”Done”两次确认。

1. 点击”User Creation”
2. 输入全名、用户名和密码
3. 可以选择”Make this user administrator”使该用户具有管理员权限
4. 点击”Done”返回

3.6 完成安装

安装完成后,系统会提示重启。点击”Reboot System”按钮重启系统。

3.7 首次启动设置

首次启动后,系统可能会引导你完成一些初始设置:

1. 接受许可协议
2. 连接到网络(如果之前未配置)
3. 设置时间和日期(如果之前未配置)
4. 完成设置后,登录系统

4. 基本系统配置

安装完成后,需要进行一些基本配置,以确保系统正常运行并满足你的需求。

4.1 系统更新

首先,更新系统到最新版本:
  1. # 切换到root用户或使用sudo
  2. sudo -i
  3. # 更新软件包列表
  4. dnf check-update
  5. # 更新所有已安装的软件包
  6. dnf update -y
  7. # 如果内核更新,重启系统
  8. reboot
复制代码

4.2 网络配置
  1. # 查看网络接口
  2. ip addr show
  3. # 或使用传统命令
  4. ifconfig
复制代码

编辑网络配置文件(以eno1接口为例):
  1. # 编辑网络配置文件
  2. vi /etc/sysconfig/network-scripts/ifcfg-eno1
复制代码

添加或修改以下内容:
  1. TYPE=Ethernet
  2. BOOTPROTO=static
  3. DEFROUTE=yes
  4. IPV4_FAILURE_FATAL=no
  5. IPV6INIT=yes
  6. IPV6_AUTOCONF=yes
  7. IPV6_DEFROUTE=yes
  8. IPV6_FAILURE_FATAL=no
  9. NAME=eno1
  10. UUID=<保持原有UUID>
  11. DEVICE=eno1
  12. ONBOOT=yes
  13. IPADDR=192.168.1.100
  14. NETMASK=255.255.255.0
  15. GATEWAY=192.168.1.1
  16. DNS1=8.8.8.8
  17. DNS2=8.8.4.4
复制代码

重启网络服务:
  1. # 重启网络服务
  2. systemctl restart network
  3. # 或使用NetworkManager
  4. nmcli connection reload
  5. nmcli connection up eno1
复制代码
  1. # 查看当前主机名
  2. hostnamectl
  3. # 设置主机名
  4. hostnamectl set-hostname rocky-server
  5. # 验证主机名
  6. hostname
复制代码

4.3 防火墙配置

Rocky Linux使用firewalld作为默认防火墙:
  1. # 查看防火墙状态
  2. systemctl status firewalld
  3. # 启动防火墙
  4. systemctl start firewalld
  5. # 设置防火墙开机自启
  6. systemctl enable firewalld
  7. # 查看当前开放的端口和服务
  8. firewall-cmd --list-all
  9. # 开放HTTP服务(端口80)
  10. firewall-cmd --permanent --add-service=http
  11. # 开放HTTPS服务(端口443)
  12. firewall-cmd --permanent --add-service=https
  13. # 开放自定义端口(例如8080)
  14. firewall-cmd --permanent --add-port=8080/tcp
  15. # 重新加载防火墙配置
  16. firewall-cmd --reload
复制代码

4.4 SELinux配置

SELinux(Security-Enhanced Linux)是Rocky Linux中的安全模块:
  1. # 查看SELinux状态
  2. sestatus
  3. # 临时设置SELinux为Permissive模式(仅记录不阻止)
  4. setenforce 0
  5. # 临时设置SELinux为Enforcing模式(默认,强制执行)
  6. setenforce 1
  7. # 永久修改SELinux配置
  8. vi /etc/selinux/config
  9. # 将SELINUX=enforcing改为SELINUX=disabled或SELINUX=permissive
  10. SELINUX=permissive
  11. # 重启系统使更改生效
  12. reboot
复制代码

注意:对于生产环境,建议保持SELinux为Enforcing模式,以确保系统安全。

4.5 时间同步

配置NTP(Network Time Protocol)以保持系统时间准确:
  1. # 安装chrony(NTP客户端)
  2. dnf install chrony -y
  3. # 启动chrony服务
  4. systemctl start chronyd
  5. # 设置chrony开机自启
  6. systemctl enable chronyd
  7. # 查看时间同步状态
  8. chronyc sources -v
  9. # 手动同步时间
  10. chronyc -a makestep
复制代码

4.6 添加用户和配置sudo权限
  1. # 添加新用户(例如user1)
  2. useradd user1
  3. # 设置用户密码
  4. passwd user1
复制代码
  1. # 安装sudo(如果未安装)
  2. dnf install sudo -y
  3. # 将用户添加到wheel组(具有sudo权限)
  4. usermod -aG wheel user1
  5. # 验证用户是否在wheel组中
  6. groups user1
复制代码

或者,直接编辑sudoers文件:
  1. # 编辑sudoers文件
  2. visudo
  3. # 在文件中添加以下行(允许user1无需密码使用sudo)
  4. user1 ALL=(ALL) NOPASSWD: ALL
  5. # 保存并退出
复制代码

5. 常用服务器软件安装与配置

Rocky Linux作为服务器操作系统,通常需要安装各种服务器软件。以下是一些常用服务器软件的安装与配置方法。

5.1 Web服务器安装与配置
  1. # 安装Apache
  2. dnf install httpd -y
  3. # 启动Apache服务
  4. systemctl start httpd
  5. # 设置Apache开机自启
  6. systemctl enable httpd
  7. # 查看Apache状态
  8. systemctl status httpd
  9. # 开放HTTP和HTTPS端口
  10. firewall-cmd --permanent --add-service=http
  11. firewall-cmd --permanent --add-service=https
  12. firewall-cmd --reload
复制代码

创建一个简单的测试页面:
  1. # 创建测试页面
  2. echo "<html><body><h1>Apache on Rocky Linux</h1><p>Welcome to my website!</p></body></html>" > /var/www/html/index.html
复制代码

在浏览器中访问服务器IP地址,应该能看到测试页面。
  1. # 安装EPEL仓库(Extra Packages for Enterprise Linux)
  2. dnf install epel-release -y
  3. # 安装Nginx
  4. dnf install nginx -y
  5. # 启动Nginx服务
  6. systemctl start nginx
  7. # 设置Nginx开机自启
  8. systemctl enable nginx
  9. # 查看Nginx状态
  10. systemctl status nginx
  11. # 开放HTTP和HTTPS端口
  12. firewall-cmd --permanent --add-service=http
  13. firewall-cmd --permanent --add-service=https
  14. firewall-cmd --reload
复制代码

创建一个简单的测试页面:
  1. # 创建测试页面
  2. echo "<html><body><h1>Nginx on Rocky Linux</h1><p>Welcome to my website!</p></body></html>" > /usr/share/nginx/html/index.html
复制代码

在浏览器中访问服务器IP地址,应该能看到测试页面。

5.2 数据库服务器安装与配置
  1. # 安装MariaDB服务器
  2. dnf install mariadb-server -y
  3. # 启动MariaDB服务
  4. systemctl start mariadb
  5. # 设置MariaDB开机自启
  6. systemctl enable mariadb
  7. # 查看MariaDB状态
  8. systemctl status mariadb
  9. # 运行安全安装脚本
  10. mysql_secure_installation
  11. # 按照提示设置root密码和其他安全选项
复制代码

连接到MariaDB:
  1. # 连接到MariaDB
  2. mysql -u root -p
  3. # 输入设置的root密码
复制代码
  1. # 安装PostgreSQL服务器
  2. dnf install postgresql-server -y
  3. # 初始化数据库
  4. postgresql-setup --initdb
  5. # 启动PostgreSQL服务
  6. systemctl start postgresql
  7. # 设置PostgreSQL开机自启
  8. systemctl enable postgresql
  9. # 查看PostgreSQL状态
  10. systemctl status postgresql
  11. # 切换到postgres用户
  12. su - postgres
  13. # 创建新用户和数据库
  14. createuser --interactive
  15. createdb mydatabase
  16. # 退出postgres用户
  17. exit
复制代码

5.3 PHP安装与配置
  1. # 安装PHP和常用扩展
  2. dnf install php php-cli php-common php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-json -y
  3. # 启动PHP-FPM服务
  4. systemctl start php-fpm
  5. # 设置PHP-FPM开机自启
  6. systemctl enable php-fpm
  7. # 查看PHP-FPM状态
  8. systemctl status php-fpm
  9. # 创建PHP测试页面
  10. echo "<?php phpinfo(); ?>" > /var/www/html/info.php
复制代码

在浏览器中访问http://服务器IP/info.php,应该能看到PHP信息页面。

5.4 安装Docker
  1. # 安装dnf-plugins-core
  2. dnf install dnf-plugins-core -y
  3. # 添加Docker仓库
  4. dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  5. # 安装Docker
  6. dnf install docker-ce docker-ce-cli containerd.io -y
  7. # 启动Docker服务
  8. systemctl start docker
  9. # 设置Docker开机自启
  10. systemctl enable docker
  11. # 查看Docker状态
  12. systemctl status docker
  13. # 将用户添加到docker组(避免使用sudo)
  14. usermod -aG docker $USER
  15. # 重新登录以使组更改生效
  16. # 验证Docker安装
  17. docker run hello-world
复制代码

5.5 安装Git
  1. # 安装Git
  2. dnf install git -y
  3. # 验证Git安装
  4. git --version
  5. # 配置Git用户信息
  6. git config --global user.name "Your Name"
  7. git config --global user.email "your.email@example.com"
复制代码

6. 系统管理与维护

系统安装和软件配置完成后,需要进行定期的管理和维护,以确保系统稳定运行。

6.1 系统监控
  1. # 查看CPU和内存使用情况
  2. top
  3. # 或使用htop(需要安装)
  4. dnf install htop -y
  5. htop
  6. # 查看磁盘使用情况
  7. df -h
  8. # 查看内存使用情况
  9. free -h
  10. # 查看系统负载
  11. uptime
复制代码
  1. # 查看系统日志
  2. journalctl
  3. # 查看内核日志
  4. journalctl -k
  5. # 查看特定服务的日志
  6. journalctl -u httpd
  7. # 查看最近的日志
  8. journalctl -n 100
  9. # 查看特定时间段的日志
  10. journalctl --since "2023-01-01" --until "2023-01-02"
复制代码

6.2 文件系统管理
  1. # 查看磁盘分区
  2. fdisk -l
  3. # 创建新分区(以/dev/sdb为例)
  4. fdisk /dev/sdb
  5. # 在fdisk命令行中:
  6. # n - 创建新分区
  7. # p - 主分区
  8. # 1 - 分区号
  9. # 回车 - 使用默认起始扇区
  10. # 回车 - 使用默认结束扇区
  11. # w - 保存并退出
  12. # 格式化分区为ext4文件系统
  13. mkfs.ext4 /dev/sdb1
  14. # 创建挂载点
  15. mkdir /data
  16. # 挂载分区
  17. mount /dev/sdb1 /data
  18. # 查看挂载情况
  19. df -h
  20. # 设置开机自动挂载
  21. echo "/dev/sdb1 /data ext4 defaults 0 0" >> /etc/fstab
复制代码
  1. # 安装LVM工具(如果未安装)
  2. dnf install lvm2 -y
  3. # 创建物理卷(PV)
  4. pvcreate /dev/sdc1
  5. # 创建卷组(VG)
  6. vgcreate vg_data /dev/sdc1
  7. # 创建逻辑卷(LV)
  8. lvcreate -n lv_data -l 100%FREE vg_data
  9. # 格式化逻辑卷
  10. mkfs.ext4 /dev/vg_data/lv_data
  11. # 挂载逻辑卷
  12. mkdir /data
  13. mount /dev/vg_data/lv_data /data
  14. # 设置开机自动挂载
  15. echo "/dev/vg_data/lv_data /data ext4 defaults 0 0" >> /etc/fstab
  16. # 扩展逻辑卷
  17. # 首先扩展物理卷(如果有新磁盘)
  18. pvcreate /dev/sdd1
  19. vgextend vg_data /dev/sdd1
  20. # 扩展逻辑卷
  21. lvextend -l +100%FREE /dev/vg_data/lv_data
  22. # 调整文件系统大小
  23. resize2fs /dev/vg_data/lv_data
复制代码

6.3 用户和权限管理
  1. # 创建新用户
  2. useradd -m -s /bin/bash newuser
  3. # 设置用户密码
  4. passwd newuser
  5. # 创建新组
  6. groupadd newgroup
  7. # 将用户添加到组
  8. usermod -aG newgroup newuser
  9. # 查看用户所属组
  10. groups newuser
  11. # 删除用户
  12. userdel newuser
  13. # 删除用户及其主目录
  14. userdel -r newuser
复制代码
  1. # 查看文件权限
  2. ls -l /path/to/file
  3. # 修改文件所有者
  4. chown user:group /path/to/file
  5. # 修改文件权限
  6. chmod 755 /path/to/file
  7. # 递归修改目录权限
  8. chmod -R 755 /path/to/directory
  9. # 设置SGID位(目录中创建的文件继承目录的组)
  10. chmod g+s /path/to/directory
  11. # 设置Sticky位(只有文件所有者才能删除文件)
  12. chmod +t /path/to/directory
复制代码

6.4 服务管理
  1. # 查看所有服务状态
  2. systemctl list-units --type=service
  3. # 查看特定服务状态
  4. systemctl status httpd
  5. # 启动服务
  6. systemctl start httpd
  7. # 停止服务
  8. systemctl stop httpd
  9. # 重启服务
  10. systemctl restart httpd
  11. # 重新加载服务配置
  12. systemctl reload httpd
  13. # 设置服务开机自启
  14. systemctl enable httpd
  15. # 禁止服务开机自启
  16. systemctl disable httpd
  17. # 查看服务是否开机自启
  18. systemctl is-enabled httpd
复制代码

6.5 定时任务管理
  1. # 安装cronie(如果未安装)
  2. dnf install cronie -y
  3. # 启动crond服务
  4. systemctl start crond
  5. # 设置crond开机自启
  6. systemctl enable crond
  7. # 编辑当前用户的定时任务
  8. crontab -e
  9. # 示例:每天凌晨2点备份
  10. # 0 2 * * * /usr/bin/rsync -av /data /backup/data_$(date +\%Y\%m\%d)
  11. # 查看当前用户的定时任务
  12. crontab -l
  13. # 删除当前用户的定时任务
  14. crontab -r
复制代码

创建一个定时器文件(例如/etc/systemd/system/backup.timer):
  1. [Unit]
  2. Description=Daily backup
  3. [Timer]
  4. OnCalendar=daily
  5. Persistent=true
  6. [Install]
  7. WantedBy=timers.target
复制代码

创建对应的服务文件(例如/etc/systemd/system/backup.service):
  1. [Unit]
  2. Description=Backup service
  3. [Service]
  4. Type=oneshot
  5. ExecStart=/usr/bin/rsync -av /data /backup/data_$(date +%%Y%%m%%d)
复制代码

启用并启动定时器:
  1. # 重新加载systemd配置
  2. systemctl daemon-reload
  3. # 启用定时器
  4. systemctl enable backup.timer
  5. # 启动定时器
  6. systemctl start backup.timer
  7. # 查看定时器状态
  8. systemctl list-timers --all
复制代码

7. 安全设置与优化

服务器安全是运维工作中至关重要的一环。以下是一些基本的安全设置和优化措施。

7.1 系统安全加固
  1. # 编辑SSH配置文件
  2. vi /etc/ssh/sshd_config
  3. # 找到并修改以下行
  4. PermitRootLogin no
  5. # 重启SSH服务
  6. systemctl restart sshd
复制代码
  1. # 编辑SSH配置文件
  2. vi /etc/ssh/sshd_config
  3. # 找到并修改以下行
  4. Port 2222
  5. # 重启SSH服务
  6. systemctl restart sshd
  7. # 更新防火墙规则
  8. firewall-cmd --permanent --add-port=2222/tcp
  9. firewall-cmd --reload
复制代码
  1. # 查看已启用的服务
  2. systemctl list-unit-files | grep enabled
  3. # 禁用不必要的服务(例如telnet)
  4. systemctl stop telnet.socket
  5. systemctl disable telnet.socket
复制代码
  1. # 安装dnf-automatic
  2. dnf install dnf-automatic -y
  3. # 编辑配置文件
  4. vi /etc/dnf/automatic.conf
  5. # 修改以下设置
  6. apply_updates = yes
  7. emit_via = stdio
  8. email_to = your.email@example.com
  9. # 启动并启用dnf-automatic.timer
  10. systemctl start dnf-automatic.timer
  11. systemctl enable dnf-automatic.timer
复制代码

7.2 防火墙高级配置
  1. # 创建自定义区域
  2. firewall-cmd --permanent --new-zone=myservices
  3. # 设置区域默认策略
  4. firewall-cmd --permanent --zone=myservices --set-target=DROP
  5. # 添加接口到区域
  6. firewall-cmd --permanent --zone=myservices --add-interface=eth1
  7. # 添加服务到区域
  8. firewall-cmd --permanent --zone=myservices --add-service=http
  9. firewall-cmd --permanent --zone=myservices --add-service=https
  10. # 重新加载防火墙配置
  11. firewall-cmd --reload
复制代码
  1. # 启用IP伪装
  2. firewall-cmd --permanent --add-masquerade
  3. # 配置端口转发(例如将8080端口转发到80端口)
  4. firewall-cmd --permanent --add-forward-port=port=8080:proto=tcp:toport=80
  5. # 重新加载防火墙配置
  6. firewall-cmd --reload
复制代码

7.3 Fail2Ban防暴力破解
  1. # 安装EPEL仓库
  2. dnf install epel-release -y
  3. # 安装Fail2Ban
  4. dnf install fail2ban -y
  5. # 启动并启用Fail2Ban
  6. systemctl start fail2ban
  7. systemctl enable fail2ban
  8. # 创建本地配置文件
  9. cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  10. # 编辑配置文件
  11. vi /etc/fail2ban/jail.local
  12. # 配置SSH保护
  13. [sshd]
  14. enabled = true
  15. port = 22,2222
  16. filter = sshd
  17. logpath = /var/log/secure
  18. maxretry = 3
  19. bantime = 3600
  20. # 重启Fail2Ban服务
  21. systemctl restart fail2ban
  22. # 查看Fail2Ban状态
  23. fail2ban-client status
  24. fail2ban-client status sshd
复制代码

7.4 系统性能优化
  1. # 编辑sysctl配置文件
  2. vi /etc/sysctl.conf
  3. # 添加或修改以下参数
  4. # 增加文件描述符限制
  5. fs.file-max = 100000
  6. # 增加网络连接队列大小
  7. net.core.somaxconn = 65535
  8. # 优化TCP/IP参数
  9. net.ipv4.tcp_max_syn_backlog = 65536
  10. net.core.netdev_max_backlog = 65536
  11. net.ipv4.tcp_syncookies = 1
  12. net.ipv4.tcp_tw_reuse = 1
  13. net.ipv4.tcp_fin_timeout = 30
  14. net.ipv4.tcp_keepalive_time = 1200
  15. net.ipv4.ip_local_port_range = 10000 65000
  16. # 应用配置
  17. sysctl -p
复制代码
  1. # 编辑limits.conf文件
  2. vi /etc/security/limits.conf
  3. # 添加或修改以下限制
  4. * soft nofile 65536
  5. * hard nofile 65536
  6. * soft nproc 32768
  7. * hard nproc 32768
  8. # 重新登录以使更改生效
复制代码

7.5 备份策略
  1. # 安装rsync
  2. dnf install rsync -y
  3. # 创建备份脚本
  4. vi /usr/local/bin/backup.sh
  5. #!/bin/bash
  6. # 定义源目录和目标目录
  7. SOURCE_DIR="/data"
  8. BACKUP_DIR="/backup"
  9. DATE=$(date +%Y%m%d)
  10. # 创建备份目录
  11. mkdir -p $BACKUP_DIR/$DATE
  12. # 执行备份
  13. rsync -av --delete $SOURCE_DIR/ $BACKUP_DIR/$DATE/
  14. # 保留最近7天的备份
  15. find $BACKUP_DIR -type d -mtime +7 -exec rm -rf {} \;
  16. # 记录备份日志
  17. echo "Backup completed on $(date)" >> /var/log/backup.log
  18. # 设置脚本可执行权限
  19. chmod +x /usr/local/bin/backup.sh
  20. # 添加到定时任务
  21. crontab -e
  22. # 添加以下行(每天凌晨2点执行备份)
  23. 0 2 * * * /usr/local/bin/backup.sh
复制代码
  1. # 创建备份脚本
  2. vi /usr/local/bin/fullbackup.sh
  3. #!/bin/bash
  4. # 定义源目录和目标目录
  5. SOURCE_DIR="/data"
  6. BACKUP_DIR="/backup"
  7. DATE=$(date +%Y%m%d)
  8. BACKUP_FILE="$BACKUP_DIR/full_backup_$DATE.tar.gz"
  9. # 创建备份目录
  10. mkdir -p $BACKUP_DIR
  11. # 执行备份
  12. tar -czf $BACKUP_FILE $SOURCE_DIR
  13. # 记录备份日志
  14. echo "Full backup completed on $(date)" >> /var/log/backup.log
  15. # 设置脚本可执行权限
  16. chmod +x /usr/local/bin/fullbackup.sh
  17. # 添加到定时任务
  18. crontab -e
  19. # 添加以下行(每周日凌晨2点执行完整备份)
  20. 0 2 * * 0 /usr/local/bin/fullbackup.sh
复制代码

8. 常见问题与解决方案

在使用Rocky Linux过程中,可能会遇到一些常见问题。以下是一些常见问题及其解决方案。

8.1 网络连接问题

问题:系统无法连接到网络,无法访问互联网。

解决方案:
  1. # 检查网络接口状态
  2. ip addr show
  3. # 如果网络接口未启用,启用它
  4. ip link set eth0 up
  5. # 检查网络配置
  6. cat /etc/sysconfig/network-scripts/ifcfg-eth0
  7. # 如果使用DHCP,确保配置正确
  8. DEVICE=eth0
  9. BOOTPROTO=dhcp
  10. ONBOOT=yes
  11. # 重启网络服务
  12. systemctl restart network
  13. # 检查DNS配置
  14. cat /etc/resolv.conf
  15. # 如果DNS配置不正确,添加DNS服务器
  16. echo "nameserver 8.8.8.8" >> /etc/resolv.conf
  17. echo "nameserver 8.8.4.4" >> /etc/resolv.conf
  18. # 测试网络连接
  19. ping -c 4 google.com
复制代码

问题:服务已启动,但无法从外部访问。

解决方案:
  1. # 检查防火墙状态
  2. systemctl status firewalld
  3. # 查看当前开放的端口和服务
  4. firewall-cmd --list-all
  5. # 开放所需端口(例如80端口)
  6. firewall-cmd --permanent --add-port=80/tcp
  7. # 或开放服务(例如HTTP)
  8. firewall-cmd --permanent --add-service=http
  9. # 重新加载防火墙配置
  10. firewall-cmd --reload
  11. # 如果使用SELinux,检查SELinux状态
  12. sestatus
  13. # 如果SELinux为Enforcing模式,可能需要调整SELinux策略
  14. # 例如,允许HTTP服务连接到网络
  15. setsebool -P httpd_can_network_connect 1
复制代码

8.2 软件包管理问题

问题:使用DNF安装软件包时出现错误。

解决方案:
  1. # 清除DNF缓存
  2. dnf clean all
  3. # 重建DNF缓存
  4. dnf makecache
  5. # 检查仓库配置
  6. ls /etc/yum.repos.d/
  7. # 如果仓库配置有问题,可以重新下载
  8. # 例如,重新下载Rocky Linux仓库配置
  9. dnf reinstall rocky-release -y
  10. # 如果特定仓库有问题,可以禁用它
  11. dnf config-manager --set-disabled problematic-repo
  12. # 更新系统
  13. dnf update -y
  14. # 再次尝试安装软件包
  15. dnf install package-name -y
复制代码

问题:安装软件包时出现依赖冲突。

解决方案:
  1. # 查看冲突详情
  2. dnf install package-name
  3. # 使用--allowerasing选项允许删除冲突的软件包
  4. dnf install package-name --allowerasing
  5. # 或者使用--skip-broken选项跳过有问题的软件包
  6. dnf update --skip-broken
  7. # 如果问题仍然存在,可以尝试手动解决
  8. # 查看冲突的软件包
  9. dnf provides conflicting-file
  10. # 删除冲突的软件包
  11. dnf remove conflicting-package
  12. # 再次尝试安装
  13. dnf install package-name -y
复制代码

8.3 服务启动问题

问题:尝试启动服务时失败。

解决方案:
  1. # 查看服务状态
  2. systemctl status service-name
  3. # 查看服务日志
  4. journalctl -u service-name -n 100
  5. # 检查服务配置文件
  6. cat /etc/systemd/system/service-name.service
  7. # 如果配置文件有问题,修复它
  8. vi /etc/systemd/system/service-name.service
  9. # 重新加载systemd配置
  10. systemctl daemon-reload
  11. # 再次尝试启动服务
  12. systemctl start service-name
  13. # 如果服务仍然无法启动,检查依赖项
  14. systemctl list-dependencies service-name
复制代码

问题:服务启动后立即停止。

解决方案:
  1. # 查看服务日志
  2. journalctl -u service-name -f
  3. # 检查服务配置文件中的Type设置
  4. # 如果服务不是forking类型,确保Type设置为simple或notify
  5. cat /etc/systemd/system/service-name.service | grep Type
  6. # 如果服务需要特定环境,检查环境变量
  7. cat /etc/systemd/system/service-name.service | grep Environment
  8. # 尝试手动运行服务命令,查看错误信息
  9. /usr/bin/service-command --help
  10. # 根据错误信息修复问题
复制代码

8.4 磁盘空间问题

问题:系统提示磁盘空间不足。

解决方案:
  1. # 查看磁盘使用情况
  2. df -h
  3. # 查看目录大小
  4. du -sh /path/to/directory
  5. # 查找大文件
  6. find / -type f -size +100M -exec ls -lh {} \;
  7. # 清理软件包缓存
  8. dnf clean all
  9. # 删除旧日志
  10. journalctl --vacuum-size=100M
  11. # 删除临时文件
  12. rm -rf /tmp/*
  13. # 清理用户缓存
  14. rm -rf ~/.cache/*
  15. # 如果需要,可以扩展磁盘空间
  16. # 详见6.2.1和6.2.2节
复制代码

问题:磁盘空间还有剩余,但无法创建新文件。

解决方案:
  1. # 查看inode使用情况
  2. df -i
  3. # 查找包含大量小文件的目录
  4. find / -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n
  5. # 清理临时文件
  6. find /tmp -type f -delete
  7. # 清理日志文件
  8. find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
  9. # 清理邮件队列(如果使用邮件服务器)
  10. find /var/spool/postfix/maildrop -type f -delete
  11. # 如果问题仍然存在,可能需要重新格式化分区或扩展文件系统
复制代码

8.5 性能问题

问题:系统响应缓慢,负载高。

解决方案:
  1. # 查看系统负载
  2. uptime
  3. # 查看CPU使用情况
  4. top
  5. # 或使用htop
  6. htop
  7. # 查看内存使用情况
  8. free -h
  9. # 查看磁盘I/O
  10. iostat -x 1
  11. # 查找占用CPU高的进程
  12. ps aux --sort=-%cpu | head
  13. # 查找占用内存高的进程
  14. ps aux --sort=-%mem | head
  15. # 如果是某个进程导致的问题,可以终止它
  16. kill -9 PID
  17. # 如果是系统配置问题,可以调整内核参数
  18. # 详见7.4.1节
复制代码

问题:磁盘读写速度慢,影响系统性能。

解决方案:
  1. # 测试磁盘读写速度
  2. dd if=/dev/zero of=/tmp/test bs=1G count=1 oflag=direct
  3. dd if=/tmp/test of=/dev/null bs=1G iflag=direct
  4. # 查看磁盘I/O统计
  5. iostat -x 1
  6. # 检查磁盘调度器
  7. cat /sys/block/sda/queue/scheduler
  8. # 更改磁盘调度器(例如deadline)
  9. echo deadline > /sys/block/sda/queue/scheduler
  10. # 检查文件系统挂载选项
  11. mount | grep sda
  12. # 如果需要,可以优化挂载选项(例如noatime)
  13. # 编辑/etc/fstab
  14. vi /etc/fstab
  15. # 添加noatime选项
  16. /dev/sda1 / ext4 defaults,noatime 0 0
  17. # 重新挂载文件系统
  18. mount -o remount /
复制代码

9. 总结与资源推荐

Rocky Linux作为一个稳定、安全且开源的企业级操作系统,为服务器部署提供了可靠的选择。通过本教程,我们详细介绍了Rocky Linux的安装、配置、管理和优化过程,帮助新手用户轻松上手。

9.1 最佳实践总结

在使用Rocky Linux时,以下是一些最佳实践:

1. 定期更新系统:保持系统和软件包最新,以获得安全补丁和新功能。
2. 使用最小安装:只安装必要的软件包,减少攻击面。
3. 配置防火墙:使用firewalld保护系统,只开放必要的端口。
4. 启用SELinux:保持SELinux为Enforcing模式,增强系统安全性。
5. 定期备份:实施备份策略,确保数据安全。
6. 监控系统资源:使用监控工具跟踪系统性能,及时发现和解决问题。
7. 使用sudo:避免直接使用root账户,使用sudo进行特权操作。
8. 配置日志轮转:防止日志文件占用过多磁盘空间。
9. 实施安全策略:使用Fail2Ban等工具防止暴力破解攻击。
10. 文档化配置:记录系统配置和更改,便于维护和故障排除。

9.2 有用的资源

以下是一些有用的Rocky Linux资源,可以帮助你进一步学习和解决问题:

• Rocky Linux官方网站:https://rockylinux.org/
• Rocky Linux文档:https://docs.rockylinux.org/
• Rocky Linux论坛:https://forums.rockylinux.org/
• Rocky Linux邮件列表:https://lists.resf.org/
• Rocky Linux GitHub仓库:https://github.com/rocky-linux

• Reddit Rocky Linux社区:https://www.reddit.com/r/RockyLinux/
• Rocky Linux Discord服务器:https://discord.gg/rockylinux
• Rocky Linux Mattermost:https://chat.rockylinux.org/

• Linux命令行基础:https://linuxjourney.com/
• Red Hat Enterprise Linux文档:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/(由于RockyLinux与RHEL兼容,这些文档也适用)
• Linux系统管理手册:https://www.debian.org/doc/manuals/debian-reference/ch01.en.html(虽然是Debian参考,但许多概念通用)

  1. Cockpit:Web界面系统管理工具dnf install cockpit -y
  2. systemctl enable --now cockpit.socket
  3. firewall-cmd --permanent --add-service=cockpit
  4. firewall-cmd --reload然后通过浏览器访问https://服务器IP:9090
复制代码
  1. Webmin:另一个Web界面系统管理工具dnf install webmin -y
  2. systemctl enable --now webmin
  3. firewall-cmd --permanent --add-port=10000/tcp
  4. firewall-cmd --reload然后通过浏览器访问https://服务器IP:10000
复制代码

Cockpit:Web界面系统管理工具
  1. dnf install cockpit -y
  2. systemctl enable --now cockpit.socket
  3. firewall-cmd --permanent --add-service=cockpit
  4. firewall-cmd --reload
复制代码

然后通过浏览器访问https://服务器IP:9090

Webmin:另一个Web界面系统管理工具
  1. dnf install webmin -y
  2. systemctl enable --now webmin
  3. firewall-cmd --permanent --add-port=10000/tcp
  4. firewall-cmd --reload
复制代码

然后通过浏览器访问https://服务器IP:10000

9.3 结语

Rocky Linux作为一个充满活力的开源项目,正在迅速发展并赢得用户的信任。通过本教程,我们希望能够帮助你顺利部署和管理Rocky Linux服务器,并充分发挥其潜力。

随着你对Rocky Linux的深入了解,你将发现它不仅是一个稳定可靠的服务器操作系统,还是一个强大的平台,可以支持各种工作负载和应用场景。无论是Web服务器、数据库服务器、开发环境还是云基础设施,Rocky Linux都能提供出色的性能和安全性。

最后,我们鼓励你参与Rocky Linux社区,分享你的经验和知识,为这个优秀的开源项目做出贡献。无论是报告bug、编写文档、翻译内容还是开发新功能,你的贡献都将帮助Rocky Linux变得更加强大和完善。

祝你在Rocky Linux的世界中探索愉快!
「七転び八起き(ななころびやおき)」
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则