环境

系统 其它
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. .net mvc前台如何接收和解析后台的字典类型的数据

    很久没有写博客了,最近做了一个公司门户网站的小项目,其中接触到了一些我不会的知识点,今日事情少,便记录一下,当时想在网上搜索相关的内容,但是没有找到. 今天想记录一下这样一个小的需求的做法.先说一下我 ...

  2. 关于Data URLs svg图片显示出错和浏览器URL hash #

    在使用生成的svg图作为<img>标签是src值时,发现有部分浏览器显示异常,所以这里记录下 参考链接 Data URLs http://www.faqs.org/rfcs/rfc2397 ...

  3. 第一次JVM分析记录:Out of Memory Error (workgroup.cpp:96), pid=6196, tid=139999645685504

    tomcat的catalina.out日志报错如下: Exception in thread "http-bio-8081-Acceptor-0" java.lang.OutOfM ...

  4. Git:三、工作原理

    首先,我们对工作区也就是文件夹中的文档进行修改. 然后,把修改并需要存档的文档用add命令放到暂存区,并且可以放很多文档. 最后,一个阶段的工作告一段落,使用commit命令把暂存区的内容一股脑存到G ...

  5. Windows Server 2012 R2安装Oracle 11g问题

      1.[INS-13001]环境不满足最低要求 如图:   oracle11g早于Windows Server 2012 R2 解决方法:找到解压目录../win64_11gR2_database\ ...

  6. cmd命令重定向到剪切板

    Windows下 使用系统自带的 clip 命令. # 位于 C:\Windows\system32\clip.exe. 示例: # 将字符串 Hello 放入 Windows 剪贴板 echo He ...

  7. winfrom 图片等比例压缩

    效果图: 核心代码: /// <summary> /// 等比例缩放图片 /// </summary> /// <param name="bitmap" ...

  8. 使用 shell / python 进行sql的excel报表导出

    如果要求你进行一个表数据的导出,如果使用shell的话,很容易做到,即执行一下 select 语句就可以拿到返回结果了! 如下: /usr/bin/mysql -u"${username}& ...

  9. 距离度量以及python实现(一)

    1. 欧氏距离(Euclidean Distance)        欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式. (1)二维平面上两点a(x1,y1)与b(x2,y2)间 ...

  10. .NET Core微服务之基于Ocelot实现API网关服务(续)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.负载均衡与请求缓存 1.1 负载均衡 为了验证负载均衡,这里我们配置了两个Consul Client节点,其中ClientServic ...