1、搭建Epel  Yum源

 安装在线yum源

  1. [root@localhost ~]# rpm -ivh epel-release-latest-.noarch.rpm //安装扩展源
  2. [root@localhost yum.repos.d]# ls
  3. a epel-release-latest-.noarch.rpm epel-testing.repo Centos-.repo epel.repo

  4. [root@localhost ~]# ls /etc/yum.repos.d/
  5. backup CentOS-Base.repo CentOS-Media.repo epel.repo epel-testing.repo
  6. 修改epel.repo
  7. [root@Crushlinux yum.repos.d]# yum clean all && yum makecache //清除并新建yum缓存

2、安装ruby环境和gem命令(gem命令是从rubygem仓库安装软件,类似yum从yum仓库安装软件)

  1. 安装软件包,安装时要出现3个安装的软件
  2. [root@localhost yum.repos.d]# yum -y install ruby rubygems ruby-devel
  3.  
  4. [root@localhost ~]# gem update --system //升级rubygems版本
  5. [root@localhost ~]# gem install rubygems-update -v 2.3. //安装新版本
  6. [root@localhost ~]# gem update --system //升级
  7.  
  8. [root@localhost ~]# gem sources -a http://mirrors.aliyun.com/rubygems/ //添加国内源
  9. [root@localhost ~]# gem sources --remove https://rubygems.org/ //移除国外源
  10. [root@localhost ~]# gem sources -l //查看当前源
  11.  
  12. [root@localhost ~]# gem install fpm //安装fpm工具

3、编译nginx,在保证nginx安装完的基础上打包,查看nginx的80端口

  1. [root@localhost ~]# netstat -anpt | grep : //查询nginx的接口

4、打包nginx包生成rpm包

  1. 脚本
  2. [root@localhost ~]# vim nginx.sh
  3. #!/bin/bash
  4.  
  5. useradd -M -s /sbin/nologin nginx //创建用户
  6. ln -s /usr/local/nginx/sbin/nginx/ /sbin //设置软连接
  7. echo www.crushlinux.com > /usr/local/nginx/html/index.html //在网页文件中写入测试内容
  8. /usr/local/nginx/sbin/nginx //开启nginx

打包时报错,修改

  1. [root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16. -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
  2. 报错信息
  3. Need executable 'rpmbuild' to convert dir to rpm {:level=>:error}
  4.  
  5. 修改
  6. [root@localhost ~]# yum list | grep build
  7. [root@localhost ~]# yum -y install rpm-build
  8. [root@localhost ~]# fpm -s dir -t rpm -n nginx -v 1.16. -d 'pcre-devel,zlib-devel' -f --post-install /root/nginx.sh /usr/local/nginx/
  9. 打包成功,在当前目录下生成一个rpm
  10. Created package {:path=>"nginx-1.16.1-1.x86_64.rpm"}

5、安装自己制作的软件包,并查看端口

安装之前需要卸载之前安装的nginx

rm -rf /usr/local/nginx

rm -rf /usr/src/nginx-1.16.1/

rm -rf /usr/local/nginx/sbin/nginx

userdel -r nginx

  1. [root@localhost ~]# rpm -ivh nginx-1.16.-.x86_64.rpm //安装自己制作的包
  2. [root@localhost ~]# netstat -anpt | grep //查看端口
 

Linux基于FPM制作RPM包(以Nginx为例)的更多相关文章

  1. fpm制作rpm包

    一.前言 在企业中我们有事安装软件包.部分都是源码安装,如nginx安装路径都已经固化了,但实际业务中,我们都是把软件包安装到固定目录下,不满足需要,这是其一.其二,编译安装很耗时,比如mysql,特 ...

  2. 利用fpm制作rpm包

    使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...

  3. fpm 制作rpm包

    使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...

  4. fpm 制作 rpm 包

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

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

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

  6. linux制作RPM包

    制作rpm包 1.制作流程1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制 ...

  7. 制作RPM包

    RPM包制作过程 1.1 前期工作 1)创建打包用的目录rpmbuild/{BUILD,SPECS,RPMS, SOURCES,SRPMS} 建议使用普通用户,在用户家目录中创建 2)确定好制作的对象 ...

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

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

  9. 编译制作Linux 3.18内核rpm包(升级centos6.x虚拟机内核)

    介绍 openstack平台需要使用各种Linux发行版模板镜像,其制作方法主要有两种,要么是基于各大Linux发行版ISO光盘手动制作,要么是使用官方提供的模板镜像再做修改 之前制作的opensta ...

随机推荐

  1. EF直接更新数据(不需查询)

    //0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = ; model.ATitle = "新的数 ...

  2. ICT638 Mobile and App Development

    Assessment Cover SheetStudent ID CohortStudent NameProgrammeEnrolledDiploma in Information Technolog ...

  3. Knative 基本功能深入剖析:Knative Serving 自动扩缩容 Autoscaler

    Knative Serving 默认情况下,提供了开箱即用的快速.基于请求的自动扩缩容功能 - Knative Pod Autoscaler(KPA).下面带你体验如何在 Knative 中玩转 Au ...

  4. ASP.NET Core快速入门(第5章:认证与授权)--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务31:课时介绍 1.Cookie-based认证与授权 2.Cookie- ...

  5. LinqToSql

    string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["ConsoleA ...

  6. 来点高逼格的,使用前端Sendmessage实现SSO

    关于什么叫SSO(单点登录),这个概念具体的信息我就不详述了,网上一搜一大把,总的来说,它是一种可以控制各个独立的系统经过它的授权后, 可以用同一个帐号体系登录不同的系统,达到一处登录,多处使用的效果 ...

  7. Java面向对象——类的成员

    Java面向对象——类的成员 摘要:本文主要介绍了类的常见成员. 属性 属性称为成员变量,一般来讲不用赋值,因为有默认值,另外显式赋值没有意义会导致所有由此类创建对象都是此值. 默认值 Boolean ...

  8. SSM登陆

    简单的SSM登陆 jsp <form action="${pageContext.request.contextPath }/user/login.action"> & ...

  9. Java异常相关知识总结

    异常: 概述:java程序运行过程中出现的错误 常见的异常: StackOverflowError ArrayIndexOutOfBoundsException NullPointerExceptio ...

  10. JZOJ 2158. 蚂蚁

    这个是今天早上比赛的内容,比较水给大伙们讲一下(我只会这一个) 题目大意: n只蚂蚁以每秒1cm的速度在长为L  cm(厘米,不是lcm)的竿子上爬行.当蚂蚁爬到竿子的端点时就会掉落.由于竿子太细,两 ...