Rocky Linux系统开发环境搭建实战教程轻松配置专业级开发平台提升工作效率
引言:Rocky Linux作为开发平台的优势
Rocky Linux作为CentOS的替代品,已经成为许多开发者和系统管理员的首选操作系统。它不仅继承了CentOS的稳定性和可靠性,还提供了长期支持,使其成为构建专业级开发环境的理想选择。本教程将详细介绍如何在Rocky Linux上搭建一个高效、稳定的开发环境,帮助开发者提升工作效率。
Rocky Linux具有以下优势,使其成为开发平台的绝佳选择:
- 稳定性:基于RHEL源代码,提供企业级稳定性
- 长期支持:提供长达10年的支持周期
- 兼容性:与RHEL完全兼容,可以无缝运行大多数企业应用
- 社区支持:拥有活跃的社区,提供及时的技术支持和更新
- 安全性:内置强大的安全功能,适合开发安全敏感的应用
系统安装与基础配置
系统安装
首先,我们需要安装Rocky Linux系统。以下是详细步骤:
从官方网站下载Rocky Linux ISO镜像文件:
wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.1-x86_64-dvd.iso
创建启动盘(以Linux为例):
sudo dd if=Rocky-9.1-x86_64-dvd.iso of=/dev/sdX bs=4M status=progress
注意:将
/dev/sdX
替换为你的USB设备名称。从USB启动并按照安装向导完成系统安装。建议选择”最小安装”以减少不必要的软件包,后续我们将手动安装所需的开发工具。
基础系统配置
系统安装完成后,我们需要进行一些基础配置:
更新系统:
sudo dnf update -y
添加常用工具:
sudo dnf install -y wget curl git vim htop tree net-tools
配置防火墙:
sudo systemctl enable --now firewalld sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload
配置时区:
sudo timedatectl set-timezone Asia/Shanghai
创建开发用户(可选,推荐):
sudo useradd -m -G wheel developer sudo passwd developer
常用开发工具安装与配置
文本编辑器与IDE
Visual Studio Code
VS Code是一款流行的轻量级但功能强大的代码编辑器:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "
nname=Visual Studio Codenbaseurl=https://packages.microsoft.com/yumrepos/vscodenenabled=1ngpgcheck=1ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf install -y code
安装完成后,可以通过以下命令启动VS Code:
code
Vim
Vim是一款强大的文本编辑器,适合在终端环境下使用:
sudo dnf install -y vim-enhanced
配置Vim(创建或编辑~/.vimrc
文件):
cat > ~/.vimrc << EOF set number set syntax=on set tabstop=4 set shiftwidth=4 set expandtab set autoindent set ruler set showcmd set encoding=utf-8 set fileencoding=utf-8 set fileformat=unix EOF
版本控制工具
Git
Git是分布式版本控制系统,是现代开发不可或缺的工具:
sudo dnf install -y git
配置Git:
git config --global user.name "Your Name" git config --global user.email "your.email@example.com" git config --global core.editor vim
GitHub CLI
GitHub CLI是GitHub的官方命令行工具:
sudo dnf install -y gh
登录GitHub:
gh auth login
编程语言环境
Python
Python是一种广泛使用的高级编程语言:
sudo dnf install -y python3 python3-pip
创建Python虚拟环境:
python3 -m venv myenv source myenv/bin/activate
安装常用Python包:
pip install --upgrade pip pip install numpy pandas matplotlib jupyter
Node.js
Node.js是JavaScript运行时环境:
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash - sudo dnf install -y nodejs
验证安装:
node -v npm -v
Java
Java是一种广泛使用的编程语言:
sudo dnf install -y java-17-openjdk java-17-openjdk-devel
验证安装:
java -version javac -version
Go
Go是Google开发的编程语言:
wget https://golang.org/dl/go1.19.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
配置环境变量(编辑~/.bashrc
或~/.zshrc
):
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc
验证安装:
go version
数据库
MySQL
MySQL是流行的关系型数据库管理系统:
sudo dnf install -y mysql-server sudo systemctl enable --now mysqld sudo mysql_secure_installation
PostgreSQL
PostgreSQL是功能强大的开源关系型数据库:
sudo dnf install -y postgresql postgresql-server sudo postgresql-setup --initdb sudo systemctl enable --now postgresql
MongoDB
MongoDB是流行的NoSQL数据库:
sudo dnf install -y mongodb-server sudo systemctl enable --now mongod
容器化技术
Docker
Docker是流行的容器化平台:
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io sudo systemctl enable --now docker sudo usermod -aG docker $USER
验证安装:
docker run hello-world
Docker Compose
Docker Compose是用于定义和运行多容器Docker应用程序的工具:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.12.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
Kubernetes
Kubernetes是容器编排平台:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni EOF sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes sudo systemctl enable --now kubelet
系统优化与性能调优
内核参数优化
编辑/etc/sysctl.conf
文件,添加以下内容:
cat << EOF | sudo tee -a /etc/sysctl.conf # 增加文件描述符限制 fs.file-max = 100000 # 增加进程数限制 kernel.pid_max = 4194304 # 优化网络参数 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.tcp_fin_timeout = 30 net.ipv4.tcp_keepalive_time = 120 net.ipv4.tcp_max_syn_backlog = 8192 net.ipv4.tcp_max_tw_buckets = 5000 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.ip_local_port_range = 10000 65000 EOF
应用配置:
sudo sysctl -p
限制资源使用
编辑/etc/security/limits.conf
文件,添加以下内容:
cat << EOF | sudo tee -a /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 32768 * hard nproc 32768 EOF
磁盘性能优化
使用XFS文件系统(如果尚未使用):
sudo dnf install -y xfsprogs sudo mkfs.xfs /dev/sdX sudo mount /dev/sdX /mnt/data
内存管理优化
创建swap文件(如果系统没有足够的swap空间):
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
开发环境自动化配置
使用Ansible自动化配置
Ansible是一款自动化配置管理工具:
sudo dnf install -y ansible
创建一个基本的Ansible playbook(dev_setup.yml
):
--- - name: Development Environment Setup hosts: localhost become: yes tasks: - name: Install development tools dnf: name: - git - vim - python3 - python3-pip - nodejs - java-17-openjdk state: present - name: Install Docker dnf: name: - docker-ce - docker-ce-cli - containerd.io state: present - name: Start and enable Docker systemd: name: docker state: started enabled: yes - name: Add user to docker group user: name: "{{ ansible_user }}" groups: docker append: yes - name: Install VS Code dnf: name: code state: present
运行playbook:
ansible-playbook dev_setup.yml
使用Shell脚本自动化配置
创建一个shell脚本(setup_dev_env.sh
)来自动化开发环境配置:
#!/bin/bash # 更新系统 echo "Updating system..." sudo dnf update -y # 安装基础工具 echo "Installing basic tools..." sudo dnf install -y wget curl git vim htop tree net-tools # 安装开发工具 echo "Installing development tools..." sudo dnf install -y python3 python3-pip sudo dnf install -y nodejs sudo dnf install -y java-17-openjdk java-17-openjdk-devel # 安装Docker echo "Installing Docker..." sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install -y docker-ce docker-ce-cli containerd.io sudo systemctl enable --now docker sudo usermod -aG docker $USER # 安装VS Code echo "Installing VS Code..." sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e "
nname=Visual Studio Codenbaseurl=https://packages.microsoft.com/yumrepos/vscodenenabled=1ngpgcheck=1ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo' sudo dnf check-update sudo dnf install -y code echo "Development environment setup completed!" echo "Please log out and log back in to apply docker group changes."
使脚本可执行并运行:
chmod +x setup_dev_env.sh ./setup_dev_env.sh
常见问题与解决方案
问题1:Docker权限问题
问题描述:普通用户运行Docker命令时出现”Got permission denied while trying to connect to the Docker daemon socket”错误。
解决方案:
sudo usermod -aG docker $USER newgrp docker
问题2:Node.js版本管理
问题描述:需要管理多个Node.js版本。
解决方案:使用nvm(Node Version Manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash source ~/.bashrc nvm install 16 nvm install 18 nvm use 18
问题3:Python包管理
问题描述:需要隔离不同项目的Python依赖。
解决方案:使用virtualenv或conda:
# 使用virtualenv pip install virtualenv virtualenv myproject source myproject/bin/activate # 使用conda wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh conda create -n myproject python=3.9 conda activate myproject
问题4:系统资源监控
问题描述:需要监控系统资源使用情况。
解决方案:安装和使用监控工具:
sudo dnf install -y htop iotop iftop nmon htop # 进程监控 iotop # 磁盘I/O监控 iftop # 网络流量监控 nmon # 综合系统监控
问题5:防火墙配置
问题描述:需要开放特定端口以供开发服务使用。
解决方案:使用firewalld管理防火墙规则:
sudo firewall-cmd --permanent --add-port=3000/tcp # 开放3000端口 sudo firewall-cmd --permanent --add-service=http # 开放HTTP服务 sudo firewall-cmd --reload # 重新加载防火墙规则 sudo firewall-cmd --list-all # 查看所有规则
总结与展望
通过本教程,我们详细介绍了如何在Rocky Linux系统上搭建一个专业级的开发环境。从系统安装到基础配置,再到各种开发工具的安装与配置,最后到系统优化和自动化配置,我们全面覆盖了开发环境搭建的各个方面。
Rocky Linux作为一个稳定、安全且长期支持的操作系统,为开发者提供了一个可靠的平台。通过正确配置开发环境,开发者可以显著提高工作效率,减少因环境问题导致的开发中断。
未来,随着技术的不断发展,开发环境也会不断演进。容器化技术、云原生应用和DevOps实践将继续影响开发环境的配置方式。Rocky Linux作为一个现代化的操作系统,将继续适应这些变化,为开发者提供更好的支持。
希望本教程能够帮助你在Rocky Linux上搭建一个高效、稳定的开发环境,提升你的开发体验和工作效率。如果你有任何问题或建议,欢迎在评论区留言讨论。