从最小安装到服务器环境:OpenEuler系统安装后的必备软件包配置清单
从最小安装到服务器环境OpenEuler系统安装后的必备软件包配置清单当你第一次登录到刚完成最小安装的OpenEuler系统时那种干净得几乎让人不知所措的感觉相信很多系统管理员都深有体会。与Ubuntu或CentOS不同OpenEuler的最小安装真的就是最小——没有ifconfig没有wget甚至没有常见的文本编辑器。这种极简主义设计虽然保证了系统的高性能和安全性但也给后续环境配置带来了挑战。作为一款面向企业级应用的开源操作系统OpenEuler在云计算、大数据和人工智能等领域展现出独特优势。但要让这台裸机真正发挥价值我们需要根据不同的应用场景精心挑选和配置软件包。本文将带你从零开始构建一个高效、稳定且安全的服务器环境。1. 基础环境搭建从零到可用的第一步刚完成最小安装的OpenEuler系统就像一张白纸我们需要先解决最基本的工具链问题。首先确认网络连接状态ping -c 4 www.openeuler.org如果返回command not found说明连最基本的网络工具都没安装。这时可以尝试nmcli device status确保网络接口已激活。接下来更新软件源并安装基础工具包dnf update -y dnf install -y net-tools wget curl vim git这些工具构成了系统管理的瑞士军刀net-tools包含ifconfig等传统网络工具wget/curl网络下载必备vim高效的文本编辑器git代码版本管理提示OpenEuler默认使用dnf作为包管理器与CentOS的yum命令兼容但性能更优安装完成后建议配置一些基础优化修改vim默认配置echo set nu ~/.vimrc echo set tabstop4 ~/.vimrc设置命令别名echo alias llls -alh ~/.bashrc source ~/.bashrc2. 开发环境配置从编译器到运行时对于开发者而言OpenEuler提供了丰富的开发工具链支持。根据不同的开发需求我们可以选择不同的软件包组合。2.1 基础开发工具安装GCC编译器和常用开发库dnf groupinstall -y Development Tools dnf install -y kernel-devel kernel-headers这个Development Tools组包含gcc/g 编译器make/autoconf/automakegdb调试工具各种头文件和静态库2.2 语言运行时环境不同编程语言需要不同的运行时支持语言安装命令备注Python3dnf install -y python3 python3-devel默认已安装但可能需更新Node.jsdnf install -y nodejs npm版本可能较旧Javadnf install -y java-11-openjdk-devel推荐OpenJDKGodnf install -y golang需设置GOPATH环境变量对于需要最新版本的语言工具建议使用官方提供的安装方式。例如安装最新版Pythondnf install -y python3-pip pip3 install --upgrade pip2.3 容器化开发环境Docker已经成为现代开发的标配在OpenEuler上安装Dockerdnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo dnf install -y docker-ce docker-ce-cli containerd.io systemctl enable --now docker验证安装docker run hello-world注意OpenEuler对容器技术的支持非常完善特别是对Kata Containers等安全容器有深度优化3. 服务器环境配置Web与数据库服务根据不同的服务器用途我们需要选择不同的软件组合。以下是几种常见场景的配置方案。3.1 Web服务器环境LNMPLinuxNginxMySQLPHP是最流行的Web服务组合之一。Nginx安装dnf install -y nginx systemctl enable --now nginx firewall-cmd --permanent --add-servicehttp firewall-cmd --reloadMySQL安装dnf install -y mysql-server mysql-client systemctl enable --now mysqld mysql_secure_installationPHP安装dnf install -y php php-fpm php-mysqlnd systemctl enable --now php-fpm配置Nginx支持PHPlocation ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; }3.2 数据库服务器优化对于专业的数据库服务器除了安装数据库软件外还需要进行系统级优化。内存与IO优化echo vm.swappiness 10 /etc/sysctl.conf echo vm.dirty_ratio 15 /etc/sysctl.conf sysctl -p文件系统优化使用XFS文件系统安装时选择禁用atime更新echo /dev/sdb1 /data xfs defaults,noatime,nodiratime 0 0 /etc/fstabMySQL专用配置[mysqld] innodb_buffer_pool_size 4G innodb_log_file_size 256M innodb_flush_method O_DIRECT4. 安全加固与监控一个合格的服务器环境必须考虑安全性。OpenEuler本身已经包含了许多安全特性但我们仍需进行额外加固。4.1 基础安全配置更新所有软件包dnf update -y配置自动安全更新dnf install -y dnf-automatic systemctl enable --now dnf-automatic.timer修改SSH默认端口并禁用root登录sed -i s/#Port 22/Port 2222/ /etc/ssh/sshd_config sed -i s/PermitRootLogin yes/PermitRootLogin no/ /etc/ssh/sshd_config systemctl restart sshd4.2 防火墙配置OpenEuler默认使用firewalld作为防火墙前端# 查看当前区域 firewall-cmd --get-default-zone # 开放特定端口 firewall-cmd --permanent --add-port8080/tcp firewall-cmd --reload # 限制SSH访问IP firewall-cmd --permanent --add-rich-rulerule familyipv4 source address192.168.1.0/24 service namessh accept4.3 系统监控工具完善的监控是运维的基础推荐安装以下工具htop增强型topdnf install -y htopnmon系统资源监控dnf install -y nmonPrometheus Node Exporter用于接入监控系统useradd -m -s /bin/false node_exporter wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz tar xvf node_exporter-1.3.1.linux-amd64.tar.gz cp node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin/ chown node_exporter:node_exporter /usr/local/bin/node_exporter5. 性能调优与特殊场景配置OpenEuler针对不同工作负载提供了多种优化选项特别是对ARM架构的深度优化。5.1 内核参数调优根据服务器用途调整内核参数Web服务器优化echo net.ipv4.tcp_tw_reuse 1 /etc/sysctl.conf echo net.ipv4.tcp_fin_timeout 30 /etc/sysctl.conf echo net.core.somaxconn 65535 /etc/sysctl.conf数据库服务器优化echo vm.overcommit_memory 1 /etc/sysctl.conf echo kernel.shmall 4194304 /etc/sysctl.conf echo kernel.shmmax 17179869184 /etc/sysctl.conf5.2 ARM架构特别优化如果运行在鲲鹏等ARM架构处理器上可以启用特定优化dnf install -y openeuler-release-arm dnf install -y a-tune a-tune profile set throughput-performance5.3 虚拟化环境优化对于KVM虚拟化环境dnf groupinstall -y Virtualization Host systemctl enable --now libvirtd优化KVM参数cpu modehost-passthrough checknone cache modepassthrough/ /cpu在实际部署中我们发现OpenEuler的软件源组织方式与CentOS略有不同特别是在软件包分组和命名上。例如开发工具组的名称从Development Tools变成了devel而一些软件包的依赖关系也做了调整。这需要管理员在过渡期特别注意。