Nginx打包RPM过程(FPM工具)

 更新时间:2025年07月27日 14:54:15   作者:从零到1%  
文章介绍了在Linux系统中安装Nginx、Ruby2.6及FPM工具的完整流程,包括源码编译、依赖安装、RPM打包配置及错误处理方法,重点解决rpmbuild缺失问题

1.下载nginx源码包

wget http://nginx.org/download/nginx-1.20.1.tar.gz

2.更新yum软件源

yum update

3.下载编译工具和依赖

yum install -y gcc pcre-devel pcre zlib zlib-devel

4.解压tar包

tar -zxvf nginx-1.20.1.tar.gz -C ~/

5.进入源码文件配置编译信息

# --prefix后面加的是绝对地址 意思是编译安装后软件输出的位置
./configure --prefix=/opt/nginx

6.编译&编译安装

make && make install

7.安装RAM密钥

command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -

8.安装RAM

curl -L get.rvm.io | bash -s stable

9.更新RAM的配置文件

source /etc/profile.d/rvm.sh

10.安装Ruby2.6

rvm install 2.6

11.查看ruby是否安装成功

ruby -v

12.安装fpm依赖模块

yum -y install rubygems ruby-devel

13.更换rubygems仓库

gem sources -a  http://mirrors.aliyun.com/rubygems/
gem sources --remove https://rubygems.org/
gem source list

14.安装fpm工具

gem install fpm

15.检查fpm是否正确安装

fpm --help

16.编写shell文件

vim /root/rpm_building/ngnix_rpm.sh
#!/bin/bash

# 源码编译一般都要添加执行用户
useradd nginx -M -s /sbin/nologin

17.打包

打包格式:

fpm -s 源文件类型 -t 目标文件类型 -n 打包后名称 -v 打包后版本号 -d 所需要依赖 --post-install 安装完后执行的脚本 -f 源文件地址

fpm -s dir -t rpm -n nginx -v 1.20.1 -d 'pcre-devel,openssl-devel' --post-install /root/rpm_building/ngnix_rpm.sh -f /opt/nginx/

参数说明:

  • -s 指定源类型
  • -t 指定目标类型,即想要制作为什么包
  • -n 指定包的名字
  • -v 指定包的版本号
  • -d 指定依赖于哪些包
  • -f 第二次打包时目录下如果有同名安装包存在,则覆盖它
  • –post-install 软件包安装完成之后所要运行的脚本;同–after-install

可能会出现的错误:

Need executable ‘rpmbuild’ to convert dir to rpm {:level=>:error}

解决办法:

安装rpm-build

yum install rpm-build -y

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • nginx 开启 pathinfo的过程详解

    nginx 开启 pathinfo的过程详解

    这篇文章主要介绍了nginx 开启 pathinfo的过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Linux安装Nginx步骤详解

    Linux安装Nginx步骤详解

    这篇文章主要介绍了Linux安装Nginx步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-11-11
  • nginx服务加鉴权&设置日志方式

    nginx服务加鉴权&设置日志方式

    这篇文章主要介绍了nginx服务加鉴权&设置日志方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • 在Nginx中隐藏版本号的方法详解

    在Nginx中隐藏版本号的方法详解

    Nginx是一款高性能的Web服务器软件,它支持反向代理、负载均衡、缓存等功能,在使用 Nginx 的过程中,有时候我们需要隐藏 Nginx 的版本号,以增强服务器的安全性,所以接下来小编将给大家介绍如何在Nginx中隐藏版本号,需要的朋友可以参考下
    2023-11-11
  • Nginx通过nginx-rtmp-module模块搭建流媒体服务器实现直播

    Nginx通过nginx-rtmp-module模块搭建流媒体服务器实现直播

    近日有客户咨询想用Nginx搭建流媒体服务器实现直播,方便他们打造自己的平台,经过各种测试发现如下文章不错,特分享给需要的朋友
    2023-10-10
  • nginx+tomcat 通过域名访问项目的实例

    nginx+tomcat 通过域名访问项目的实例

    这篇文章主要介绍了nginx+tomcat 通过域名访问项目的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • Nginx启动、重启失败的一般解决方法和步骤

    Nginx启动、重启失败的一般解决方法和步骤

    这篇文章主要介绍了Nginx启动、重启失败的一般解决方法和步骤,本文没啥技术含量,只是一个惯用手法的总结,需要的朋友可以参考下
    2015-07-07
  • Nginx实现404页面的方法小结

    Nginx实现404页面的方法小结

    这篇文章主要介绍了Nginx实现404页面的方法小结,需要的朋友可以参考下
    2017-08-08
  • Nginx生产环境平滑升级的实现

    Nginx生产环境平滑升级的实现

    本文主要介绍了Nginx生产环境平滑升级的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • Nginx解决转发地址时跨域的问题

    Nginx解决转发地址时跨域的问题

    这篇文章主要介绍了Nginx实现转发地址解决跨域问题的方法,文中介绍的很详细,对大家的学习具有一定的参考借鉴价值,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01

最新评论