环境

系统 其它
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. forEach循环对集合进行循环时,需判断是否为null;

    分析forEach的源码会发现:foreach源码例子: public class Foreach { public static void main(String[] args) { List< ...

  2. JQuery --- 第二期 (jQuery属性操作)

    个人学习笔记 1.JQuery的内容选择器 <!DOCTYPE html> <html lang="en"> <head> <meta c ...

  3. ArcGIS API For Javascript_4.8-Symbol__SimpleLineSymbol

    require(["esri/symbols/SimpleLineSymbol"], function(SimpleLineSymbol) { /* code goes here ...

  4. Android之Fragment详解

    文章大纲 一. 什么是Fragment二. Fragment生命周期三. Fragment简单实例四.Fragment实战五.项目源码下载六.参考文章   一. 什么是Fragment Fragmen ...

  5. SQL Server 数据库基于备份文件的【一键还原】

    1. 备份与还原的基础说明 我们知道在DBA的日常工作中,SQL Server 数据库的恢复请求偶有发生,可能是用作数据的追踪,可也可能能是数据库的灾难恢复. 数据库常用的备份命令如下: ----完整 ...

  6. python+selenium 自动化测试实战

    一.前言: 之前的文章说过, 要写一篇自动化实战的文章, 这段时间比较忙再加回家过11一直没有更新博客,今天整理一下实战项目的代码共大家学习.(注:项目是针对我们公司内部系统的测试,只能内部网络访问, ...

  7. Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能

    背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...

  8. [转载]PrintDocument,PrintDialog与PrintPreviewDialog用法总结

    一.使用PrintDocument进行打印 using System; using System.Drawing; using System.Drawing.Printing; using Syste ...

  9. Spring的历史及哲学

    Spring的历史和哲学 1.Spring 历史 时间回到2002年,当时正是 Java EE 和 EJB 大行其道的时候,很多知名公司都是采用此技术方案进行项目开发.这时候有一个美国的小伙子认为 E ...

  10. 网络协议 19 - RPC协议综述:远在天边近在眼前

    [前五篇]系列文章传送门: 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HT ...