环境

系统 其它
CentOS 7.5 需提前配置好epel

配置

[root@localhost ~]# yum clean all && yum makecache
#重建yum元数据

FPM安装

[root@localhost ~]# yum install -y ruby rubygems ruby-devel
# [root@localhost ~]# gem sources -a http://mirrors.aliyun.com/rubygems/
#添加阿里云的ruby仓库
http://mirrors.aliyun.com/rubygems/ added to sources
[root@localhost ~]# gem sources -l
*** CURRENT SOURCES *** https://rubygems.org/
http://mirrors.aliyun.com/rubygems/ [root@localhost ~]# gem sources --remove https://rubygems.org/
#移除原生ruby仓库(在国外,速度慢)
https://rubygems.org/ removed from sources
[root@localhost ~]# gem sources -l
*** CURRENT SOURCES *** http://mirrors.aliyun.com/rubygems/ [root@localhost ~]# gem update --system
#升级rubygems版本,可能会提示“ERROR: Error installing rubygems-update:rubygems-update requires Ruby version >= 2.3.0.” [root@localhost ~]# gem install rubygems-update -v 2.3.0
#升级rubygems的版本 [root@localhost ~]# gem update --system
#再次升级 [root@localhost ~]# gem install fpm
#安装FPM包,比较慢 [root@localhost ~]# ls
nginx-1.14.2.tar.gz [root@localhost ~]# tar zxf nginx-1.14.2.tar.gz -C /usr/src/
[root@localhost ~]# cd /usr/src/nginx-1.14.2/
[root@localhost nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module && make && make install
#编译安装nginx
  • 创建软件包安装完成之后要运行的脚本
[root@localhost nginx-1.14.2]# vim nginx.sh
#!/bin/bash
useradd -M -s /sbin/nologin nginx
#创建运行的用户
ln -s /usr/local/nginx/sbin/nginx /sbin/
#链接二进制文件
echo success > /usr/local/nginx/html/index.html
#测试页面
nginx
#启动服务
  • 将nginx源码包打成rpm类型
[root@localhost ~]# yum install -y rpm-build
#会用到该工具 [root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.14.2 -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
#-s表示源类型是一个目录,即/usr/local/nginx
#-t目标类型是rpm包
#-n包的名字
#-v包的版本号
#-d所依赖的包
#-f第二次包时目录下如果有同名安装包存在,则覆盖它
#--post-install软件包安装完成之后要运行的脚本 [root@localhost ~]# ls
nginx-1.14.2-1.x86_64.rpm [root@localhost ~]# rpm -ivh nginx-1.14.2-1.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:nginx-1.14.2-1 ################################# [100%] [root@localhost ~]# netstat -lnpt | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 64244/nginx: master

over……

基于FPM制作nginx RPM包的更多相关文章

  1. fpm定制化RPM包之nginx rpm包的制作

    fpm定制化RPM包之nginx rpm包的制作 1.安装ruby模块 # yum -y install ruby rubygems ruby-devel 2.添加阿里云的Rubygems仓库,国外资 ...

  2. FPM制作Nginx的RPM软件包

    FPM制作Nginx的rpm软件包 FPM相关参数-s:指定源类型-t:指定目标类型,即想要制作为什么包-n:指定包的名字-v:指定包的版本号-C:指定打包的相对路径-d:指定依赖于哪些包-f:第二次 ...

  3. FPM简介(定制rpm包)

    FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前 ...

  4. Linux基于FPM制作RPM包(以Nginx为例)

    1.搭建Epel  Yum源  安装在线yum源 [root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源 [root@ ...

  5. 基于FPM制作RPM软件包!

    工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 以前打包rpm是一个非常复杂的一 ...

  6. fpm打包神奇rpm包升级python2.7.16

    fpm打包神器参考文档:https://www.cnblogs.com/flintlovesam/p/6594635.html FPM的安装:安装ruby环境和gem命令: yum -y instal ...

  7. Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  8. fpm 打包跨平台rpm 包的一个问题

    平时我们开发机器可能使用的是mac 系统,但是部署机器kennel是linux,默认会有一个操作系统的问题, 我们可以在打包的时候指定os版本信息 参考 --rpm-os linux 参考例子 一个构 ...

  9. fpm 制作 rpm 包

    支持的 源类型包 ① dir : 将目录打包成所需要的类型, 可用于源码编译安装软件包 ② rpm : 对 rpm 包进行转换 ③ gem : 对 rubygem 包进行转换 ④ python : 将 ...

随机推荐

  1. 结合JDK源码看设计模式——观察者模式

    前言: 现在我们生活中已经离不开微信,QQ等交流软件,这对于我们来说不仅是交流,更有在朋友圈中或空间中进行分享自己的生活,同时也可以通过这个渠道知道别人的生活.我们在看朋友圈的时候其实我们扮演的就是一 ...

  2. Fundebug微信小程序错误监控插件更新至1.1.0,新增test()与notifyHttpError()方法

    摘要: 1.1.0新增fundebug.test()和fundebug.notifyHttpError()方法,同时大小压缩至15K. Fundebug是专业的小程序BUG监控服务,可以第一时间为您捕 ...

  3. vue表格实现固定表头首列

    前言 最近在做vue移动端项目,需要做一个可以固定表头首列的表格,而且由于一些原因不能使用任何UI插件,网上找了很久也没什么好方法,所以在解决了问题之后,写下了这篇文章供后来人参考,文章有什么错漏的问 ...

  4. 文本输入框input text输入字母自动转大写

    现在需要把一个input输入框内的字母自动转变为大写. 查了下资料,目前收集到的方法有两种: 使用JavaScript,在input标签添加onkeyup方法,将字符转为大写. <input n ...

  5. 关于静态注册BroadcastReceiver接收不到广播的问题

    1.背景&解决方法 最近碰到一个需求,app监听特定的广播,接收到广播后启动自己再进行处理.需求很简单,静态注册就好,不过,在自测的时候遇到一个问题,app安装后没启动过的状态下,什么广播都收 ...

  6. Git使用详细教程(8):Git分支

    目录 创建分支 查看分支 切换分支 删除分支 分支合并 探寻分支本质 创建分支 当我们使用git init projectName命令的时候,Git就会默认帮我们创建一个分支,名字叫做master. ...

  7. 微软跨平台ORM框架之EFCore — 约定与属性映射

    EFCore中的约定简单来说就是规则,CodeFirst基于模型的约定来映射表结构.除此之外还有Fluent API.Data Annotations(数据注释) 可以帮助我们进一步配置模型. 按照这 ...

  8. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十九║Vue基础: 样式动态绑定+生命周期

    回顾 哈喽大家好,前后端分离系列文章又开始了,今天周一,还是感谢大家花时间来观看我写的博客,周末呢,没有写文章,但是也没有闲着,主要是研究了下遗留问题,看过之前文章的应该知道,之前的在AOP使用Red ...

  9. 从壹开始前后端分离 [ vue + .netcore 补充教程 ] 二八║ Nuxt 基础:面向源码研究Nuxt.js

    前言 哈喽大家周五好,又是一个开开心心的周五了,接下来就是三天小团圆啦,这里先祝大家节日快乐咯,希望都没有加班哈哈,今天公司发了月饼,嗯~时间来不及了,上周应该搞个活动抽中几个粉丝发月饼的,下次吧,这 ...

  10. .NET Core 使用NLog日志记录

    前言 每个项目都会需要使用到日志功能,这对于项目上线后 出现的bug异常,能及时定位和便于后期错误分析.那我们今天来看看在.NET Core中如何使用NLog日志. NLog 什么是NLog呢? NL ...