系列文章目录摘要本文是一份全面的 Linux 服务器软件 RPM 安装实战指南详细讲解了 JDK 8、MySQL 5.7、Redis 和 Nginx 四大核心软件的标准化安装流程并补充了 Java 应用JAR/Tomcat的部署方法。文章不仅提供了从环境检查、依赖处理、安装配置到服务管理的完整步骤还深入剖析了 RPM 包管理方式在自动化依赖、版本控制、安全验证和标准化部署方面的核心优势特别强调了其在信创背景下内网离线部署场景下的重要价值为开发者和运维人员提供了一套高效、规范的环境搭建解决方案。提示这次主要讲 Linux系统上部署常规 Java Spring boot 单机服务部署常用的一些软件安装下次再讲讲Spring Cloud微服务常用的一些组件部署例如Nacos、Postgresql、MinIO、MongoDB、RabbitMQ 等等。文章目录目录系列文章目录文章目录前言一、安装 JDK81. 安装指令2. 查看JDK安装情况及资源目录3. 配置JDK环境变量4. 设置的环境变量生效5. 检查是否配置成功二、安装 Mysql5.71. 检查系统是否安装过 mysql2. 卸载系统自带 mariadb3. 解压 tar 包4. 安装 rpm 包5. 修改mysql配置文件6. 设置mysql开机自启动7. 启动 mysql 服务8. 查询初始密码9. 登陆数据库9.1 设置新的root密码9.2 为root用户开启远程链接9.3 刷新权限10. 常用命令11. 注意事项三、安装 Redis1. 安装指令2. 查看redis安装情况及资源目录3. 设置开机启动4. 常用指令5. 按需要修改配置文件四、安装 Nginx1. 安装指令2. 查看安装情况及资源目录3. 设置开机启动4. 常用指令五、部署 Java 应用1. jar 部署2. tomcat 部署总结一、JDK 8 安装要点二、MySQL 5.7 安装要点三、Redis 安装要点四、Nginx 安装要点五、Java 应用部署要点RPM 安装的核心优势总结前言在 Linux 服务器环境中高效、规范地部署基础软件是每个开发者和运维人员的必备技能。本文旨在为 Linux 新手和希望提升部署效率的开发者提供一份实用的 RPM 安装指南涵盖 JDK、MySQL、Redis、Nginx 等常用软件的标准化安装流程。为什么选择 RPM 安装相比源码编译或手动配置RPMRed Hat Package Manager包管理方式具有显著优势RPM 安装的核心优势1. 自动化依赖管理RPM 包管理器能够自动处理软件依赖关系安装时自动检查并提示缺少的依赖项大大减少了手动解决依赖的繁琐操作。例如安装 Nginx 时如果缺少 OpenSSL 库RPM 会直接关联并安装对应的依赖包。2. 集中化版本控制通过 RPM 安装的软件会完整记录在系统的包数据库中便于统一查询、升级或卸载。 使用rpm -qa可列出所有已安装的 RPM 包而rpm -e能干净彻底地卸载软件不留残留文件。3. 数字签名验证保障安全RPM 包支持 GPG 签名校验确保软件来源可信且未被篡改。安装前可通过rpm --checksig验证签名有效降低安全风险。4. 标准化文件路径RPM 包严格遵循 Linux 文件系统层级标准FHS二进制文件、配置文件、文档等会被放置在标准路径如/usr/bin、/etc、/var/log便于系统管理和维护。5. 自动注册系统服务使用 RPM 安装的软件通常会自动注册 systemd 服务配置日志轮转等系统管理功能无需手动编写 service 文件极大简化了后期维护工作。RPM 核心命令速查安装rpm -ivh 包名.rpm-i 安装-v 显示详情-h 显示进度条升级rpm -Uvh 包名.rpm未安装则安装已安装则升级卸载rpm -e 包名仅写包名不加版本号和后缀查询所有已安装包rpm -qa查询包详情rpm -qi 包名已安装或rpm -qpi 包名.rpm未安装文件列出包内文件rpm -ql 包名已安装或rpm -qlp 包名.rpm未安装文件查询文件归属rpm -qf /路径/文件查询包依赖rpm -qR 包名或rpm -qRp 包名.rpm资源准备为方便读者实践本文涉及的安装包已整理至网盘需要的可自行下载夸克网盘链接夸克网盘 扫码访问百度网盘链接百度网盘 扫码访问 (v8l.cn)迅雷网盘链接迅雷网盘 扫码访问一、安装 JDK81. 安装指令rpm -ivh jdk-8u311-linux-x64.rpm2. 查看JDK安装情况及资源目录rpm -ql package-namerpm -ql jdk1.8-1.8.0_311-*通常安装目录是在/usr/java/jdk1.8.0_311-amd643.配置JDK环境变量vim /etc/profile在以下文本粘贴到最后一行后面#java environment export JAVA_HOME/usr/java/jdk1.8.0_311-amd64 #按实际安装目录 export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar export PATH$PATH:${JAVA_HOME}/bin4. 设置的环境变量生效source /etc/profile通过env就可以查看到配置是否生效了。5. 检查是否配置成功java -version二、安装 Mysql5.71. 检查系统是否安装过 mysql检查系统中有无安装过mysqlrpm -qa | grep mysql查询所有mysql 对应的文件夹全部删除whereis mysqlfind / -name mysql2. 卸载系统自带 mariadb查看系统自带的Mariadbrpm -qa | grep mariadbmariadb-libs-5.5.68-1.el7.centos.x86_64卸载系统自带的Mariadbrpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64删除etc目录下的my.cnf 一定要删掉等下再重新建之前我将就用这个文件后面改配置各种不生效rm /etc/my.cnf3. 解压 tar 包创建一个 mysql 目录mkdir -p /usr/local/mysql解压到目录中tar -xvf mysql-5.7.44-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql4. 安装 rpm 包进入解压目录yum install -y ./*.rpm5. 修改mysql配置文件vi /etc/my.cnf[mysqld] # # Remove leading # and set to the amount of RAM for the most important data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. # innodb_buffer_pool_size 128M # # Remove leading # to turn on a very important data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size 128M # sort_buffer_size 2M # read_rnd_buffer_size 2M datadir/var/lib/mysql socket/var/lib/mysql/mysql.sock port 3306 sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES symbolic-links0 max_connections400 innodb_file_per_table1 表名大小写不明感敏感为 lower_case_table_names16. 设置mysql开机自启动systemctl enable mysqld7. 启动 mysql 服务systemctl start mysqld8. 查询初始密码grep password /var/log/mysqld.log冒号后面就是初始密码,根据自己实际情况来A temporary password is generated for rootlocalhost: #DpV8uzP#Dsp9. 登陆数据库mysql -uroot -p#DpV8uzP#Dsp9.1 设置新的root密码ALTER USER USER() IDENTIFIED BY 你的密码;示例密码NewPass2026注意密码不能过于简单会报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements如果确实就是想要设置简单的密码可以降低策略等级9.2 为root用户开启远程链接GRANT ALL PRIVILEGES ON *.* TO root% IDENTIFIED BY 你的密码 WITH GRANT OPTION;9.3 刷新权限FLUSH PRIVILEGES;10. 常用命令查看服务状态systemctl status mysqld启动服务systemctl startmysqld停止服务systemctl stopmysqld重新服务systemctl restartmysqld11. 注意事项如果安装rpm包时报错提示Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7archx86_64repoosinfrastock error was 14: curl#6 - Could not resolve host: mirrorlist.centos.org; 未知的错误如果遇到以上错误切换国内阿里云镜像源下载基础源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo清理旧缓存yum clean all再重新尝试安装。三、安装 Redis1. 安装指令rpm -ivh redis-5.0.14-1.el7.remi.x86_64.rpm2. 查看redis安装情况及资源目录rpm -ql redis3.设置开机启动systemctl enable redis4. 常用指令查看服务状态systemctl status redis启动服务systemctl start redis停止服务systemctl stop redis重新服务systemctl restart redis5. 按需要修改配置文件Redis 的配置文件通常名为 redis.conf下面是一些常见的配置项及其说明5.1. 网络配置bind设置 Redis 监听的 IP 地址。默认是 127.0.0.1表示只接受本地连接。设置为 0.0.0.0 可以接受任何 IP 的连接。port设置 Redis 服务的端口号默认是 6379。5.2. 通用配置daemonize是否以守护进程的方式运行设置为 yes。pidfile指定 pid 文件的位置。loglevel设置日志记录的级别如 debug、verbose、notice、warning 等。logfile指定日志文件的路径。5.3. 持久化save设置触发 RDB 持久化的条件例如 900 1 表示在900秒内有1次写入操作时进行持久化。dbfilename设置 RDB 文件的名称。dir设置 RDB 文件和 AOF 文件所在的目录。appendonly是否开启 AOFAppend Only File持久化默认为 no。appendfilename设置 AOF 文件的名称。5.4. 安全requirepass设置 Redis 服务器的访问密码。masterauth当 Redis 使用主从复制时用于连接主服务器的密码。5.5. 性能调优maxclients设置 Redis 最大客户端连接数默认是 10000。timeout客户端空闲多久后关闭连接单位是秒。maxmemory设置 Redis 可以使用的最大内存量。当内存达到这个限制时Redis 会根据 maxmemory-policy 的值来选择删除键的策略。maxmemory-policy当达到最大内存限制时的策略如 volatile-lru使用 LRU 算法移除设置了过期时间的键。5.6. 主从复制slaveof指定主服务器的 IP 和端口用于设置当前服务器为其他服务器的从服务器。repl-backlog-size设置复制积压缓冲区的大小单位是字节。5.7. 慢查询日志slowlog-log-slower-than设置记录慢查询的阈值单位是微秒。slowlog-max-len设置慢查询日志的最大长度。5.8 键空间通知notify-keyspace-events设置参数来启用键空间通知。四、安装 Nginx1. 安装指令rpm -ivh nginx-1.26.1-2.el7.ngx.x86_64.rpm注意如果安装时提示缺少依赖 libcrypto.so.10、libssl.so.10安装依赖包rpm -ivh compat-openssl10-1.0.2o-8.ky10.x86_64.rpm如果安装时提示libpcre2-8.so.0()(64bit) 被 nginx-1:1.26.1-2.el7.ngx.x86_64 需要安装依赖包rpm -ivh pcre2-10.23-2.el7.x86_64.rpm 或 yum install -y pcre22. 查看安装情况及资源目录rpm -ql nginx找到配置文件 vi /etc/nginx/nginx.conf 按需要修改配置信息即可修改完后运行nginx -t来验证配置文件的语法。验证通过再执行指令nginx -s reload强制 Nginx 重新载入。3.设置开机启动systemctl enable nginx4. 常用指令查看服务状态systemctl status nginx启动服务systemctl start nginx停止服务systemctl stop nginx重新服务systemctl restart nginx验证配置文件语法是否正常nginx -t重新载入新的配置nginx -s reload五、部署 Java 应用1. jar 部署1.1. 发布打包应用 jar 包创建以下执行脚本 start.sh把 jar 包和 脚本文件放在同一目录。1.2. 授权脚本执行权限 chmod x start.sh1.3. 操作指令./start.sh start 启动 stop 停止 restart 重启 status 状态#!/bin/sh # ./start.sh start 启动 stop 停止 restart 重启 status 状态 AppNamemyApp.jar JVM参数 JVM_OPTS-Dname$AppName -Duser.timezoneAsia/Shanghai -Xms512m -Xmx1024m -XX:MetaspaceSize128m -XX:MaxMetaspaceSize512m -XX:HeapDumpOnOutOfMemoryError -XX:PrintGCDateStamps -XX:PrintGCDetails -XX:NewRatio1 -XX:SurvivorRatio30 -XX:UseParallelGC -XX:UseParallelOldGC APP_HOMEpwd LOG_PATH$APP_HOME/logs/$AppName.log #LOG_PATH$APP_HOME/logs/$AppName-%Y-%m-%d.log if [ $1 ]; then echo -e \033[0;31m 未输入操作名 \033[0m \033[0;34m {start|stop|restart|status} \033[0m exit 1 fi if [ $AppName ]; then echo -e \033[0;31m 未输入应用名 \033[0m exit 1 fi function start() { PIDps -ef |grep java|grep $AppName|grep -v grep|awk {print $2} if [ x$PID ! x ]; then echo $AppName is running... else nohup java $JVM_OPTS -jar $AppName gt; /dev/null 2gt;amp;1 amp; echo Start $AppName success... fi } function stop() { echo Stop $AppName PID query(){ PIDps -ef |grep java|grep $AppName|grep -v grep|awk {print $2} } query if [ x$PID ! x ]; then kill -TERM $PID echo $AppName (pid:$PID) exiting... while [ x$PID ! x ] do sleep 1 query done echo $AppName exited. else echo $AppName already stopped. fi } function restart() { stop sleep 2 start } function status() { PIDps -ef |grep java|grep $AppName|grep -v grep|wc -l if [ $PID ! 0 ];then echo $AppName is running... else echo $AppName is not running... fi } case $1 in start) start;; stop) stop;; restart) restart;; status) status;; *) esac2. tomcat 部署2.1. 下载tomcat下载后上传到服务器也可以wget 方式直接下载到服务器下载地址http://tomcat.apache.org/download-90.cgi2.2. 安装 tomcat新建tomcat存放的目录mkdir /usr/local/tomcat 把下载的 tomcat 压缩包拷贝到目录中。2.3. 部署 java 项目打包 java 应用为 war 包放到 tomcat 下的 webapps 目录中通常我们不需要管理界面可以把里面内容全部删除掉只放我们要运行的 war 包即可。进入解压的tomcat包的bin目录并启动tomcat。[rootlocalhost tomcat]# cd /usr/local/tomcat/apache-tomcat-9.0.120/bin/ [rootlocalhost bin]# ./startup.shtomcat 默认端口为 8080如需修改打开 tomcat conf 目录下的 server.xml 修改配置重启即可这里不详细展开自行网上搜索非常多教程。总结通过本文的详细步骤我们系统性地掌握了在 Linux 服务器上使用 RPM 包管理器安装常用软件的核心方法。本文涵盖了从基础环境JDK到数据库MySQL、缓存Redis、Web服务器Nginx以及Java应用部署的完整流程。以下是各软件安装的核心要点与优势总结一、JDK 8 安装要点安装命令rpm -ivh jdk-8u311-linux-x64.rpm安装验证使用rpm -ql jdk1.8-1.8.0_311-*查看安装文件默认安装目录为/usr/java/jdk1.8.0_311-amd64环境配置在/etc/profile中设置 JAVA_HOME、CLASSPATH 和 PATH 环境变量配置生效执行source /etc/profile使环境变量立即生效验证安装使用java -version确认安装成功二、MySQL 5.7 安装要点环境清理检查并卸载系统自带的 MySQL/MariaDB删除/etc/my.cnf配置文件安装流程解压 RPM 包后使用yum install -y ./*.rpm批量安装所有组件配置优化修改/etc/my.cnf配置文件设置端口、字符集、连接数等参数安全初始化查询初始密码登录后修改 root 密码并开启远程访问权限服务管理使用systemctl enable/start/stop/restart mysqld管理服务依赖处理如遇镜像源问题可切换阿里云镜像源解决三、Redis 安装要点安装命令rpm -ivh redis-5.0.14-1.el7.remi.x86_64.rpm文件定位使用rpm -ql redis查看配置文件通常为/etc/redis.conf和数据目录服务管理systemctl enable redis设置开机启动systemctl status/start/stop/restart redis管理服务配置优化可根据需要修改 bind、port、requirepass、maxmemory、持久化等关键配置项四、Nginx 安装要点安装命令rpm -ivh nginx-1.26.1-2.el7.ngx.x86_64.rpm依赖处理如遇 libcrypto.so.10、libssl.so.10 缺失安装compat-openssl10依赖包如遇 libpcre2-8.so.0 缺失安装 pcre2 包配置管理配置文件位于/etc/nginx/nginx.conf修改后使用nginx -t验证语法nginx -s reload重新加载配置服务管理systemctl enable nginx设置开机启动systemctl status/start/stop/restart nginx管理服务五、Java 应用部署要点JAR 包部署创建启动脚本 start.sh设置 JVM 参数通过脚本管理应用启动、停止、重启和状态查看Tomcat 部署下载 Tomcat 压缩包解压到指定目录将 WAR 包放入 webapps 目录通过 startup.sh 启动服务端口配置Tomcat 默认端口 8080可通过修改conf/server.xml调整端口配置RPM 安装的核心优势总结标准化部署所有软件遵循 FHS 标准文件路径统一规范便于系统管理和维护依赖自动化自动解决软件依赖关系减少手动配置错误和依赖冲突版本可控通过包数据库完整记录安装信息便于统一查询、升级或回滚服务集成自动注册 systemd 服务配置日志轮转等系统管理功能简化服务管理流程安全可靠支持 GPG 签名校验确保软件来源可信且未被篡改降低安全风险维护便捷统一的查询、安装、卸载命令降低运维复杂度提高工作效率一致性保障确保在不同服务器上安装的软件版本和配置完全一致减少环境差异问题通过掌握这些 RPM 安装技巧开发者可以快速在 Linux 服务器上部署标准化的开发和生产环境。RPM 包管理方式不仅提高了部署效率还确保了环境的稳定性和一致性让开发者能够将更多精力投入到业务开发中而不是环境配置的琐碎工作中。无论是个人开发环境搭建还是企业级生产环境部署这套标准化的安装流程都能提供可靠的技术支持。可能有读者会问既然 yum 安装同样方便为何本文要重点讲解 RPM 包安装方式这主要基于信创信息技术应用创新背景下的实际部署需求。近年来随着国企、医院、金融机构等对信息安全和保密要求的不断提高许多生产环境都采用内网离线部署模式。在这种场景下yum 等在线包管理器因无法连接外部仓库而失效而 RPM 包则能完美解决离线部署问题。RPM 包可以提前下载并传输到内网服务器无需网络依赖即可完成安装。相比源码编译等原生安装方式RPM 安装具有以下显著优势标准化所有文件按 FHS 标准放置便于统一管理依赖明确可提前下载所有依赖包避免安装中断版本可控确保不同服务器安装完全一致的软件版本安装高效一键安装避免编译过程中的各种环境问题回滚方便支持干净卸载便于版本升级和故障恢复因此掌握 RPM 安装技能对于需要在隔离网络环境中部署软件的开发者和运维人员尤为重要这也是本文详细讲解 RPM 安装方法的核心原因。近年来随着国企、医院、金融机构等对信息安全和保密要求的不断提高许多生产环境都采用内网离线部署模式。在这种场景下如果都采用源码编译等原生安装方式不仅费时费力还容易出错。为方便读者实践本文涉及的安装包已整理至网盘需要的可自行下载夸克网盘链接夸克网盘 扫码访问百度网盘链接百度网盘 扫码访问 (v8l.cn)迅雷网盘链接迅雷网盘 扫码访问