使用nginx-1.12.2版本的源码软件,生成对应的RPM包软件,具体如下:

- 软件名称为nginx

- 软件版本为1.12.2

- RPM软件包可以查询描述信息

- RPM软件包可以安装及卸载

方案: 安装rpm-build软件包,编写SPEC配置文件,创建新的RPM软件包

步骤:

一, 安装rpm-build软件

1. 安装rpm-build软件包

[root@web1 ~]# yum -y install rpm-build

2. 生成rpmbuild目录结构

[root@web1 ~]# rpmbuild -ba nginx.spec    #会报错,没有文件或目录

[root@web1 ~]# ls /root/rpmbuild     #自动生成的目录结构

BUILD BUILDROOT RPMS SOURCES SPECS SRPMS

3. 将源码软件复制到SOURCES目录

[root@web1 ~]# cp nginx-1.12.2.tar.gz /root/rpmbuild/SOURCES/

4. 创建并修改SPEC配置文件

[root@web1 ~]# vim /root/rpmbuild/SPECS/nginx.spec

Name:nginx       #源码包软件名称

Version:1.12.2     #源码包软件的版本号

Release:    10      #制作的RPM包版本号

Summary: Nginx is a web server software.     #RPM软件的概述

License:GPL      #软件的协议

URL:    www.test.com       #网址

Source0:nginx-1.12.2.tar.gz       #源码包文件的全称

#BuildRequires:      #制作RPM时的依赖关系

#Requires:     #安装RPM时的依赖关系

%description

nginx [engine x] is an HTTP and reverse proxy server.    #软件的详细描述

%post

useradd nginx          #非必需操作:安装后脚本(创建账户)

%prep

%setup -q    #自动解压源码包,并cd进入目录

%build

./configure

make %{?_smp_mflags}

%install

make install DESTDIR=%{buildroot}

%files

%doc

/usr/local/nginx/*    #对哪些文件与目录打包

%changelog

二, 使用配置文件创建RPM包

1. 安装依赖软件包

[root@web1 ~]# yum -y install gcc pcre-devel openssl-devel

2. rpmbuild创建RPM软件包

[root@web1 ~]# rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec

[root@web1 ~]# ls /root/rpmbuild/RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm

[root@web1 ~]# rpm -qpi RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm

Name : nginx        Relocations: (not relocatable)

Version : 1.12.2        Vendor: (none)

Release : 10            Build Date: Mon 02 May 2016 02:30:53 AM PDT

Install Date: (not installed)            Build Host: localhost

Group : Applications/Internet        Source RPM: nginx-1.8.0-1.src.rpm

Size : 721243                    License: GPL

Signature : (none)

URL : www.nginx.org

Summary : Nginx is a web server software.

Description :

nginx [engine x] is an HTTP and reverse proxy server.

[root@web1 ~]# rpm -qpl nginx-1.12.2-10.x86_64.rpm

/usr

/usr/local

/usr/local/nginx

/usr/local/nginx/conf

/usr/local/nginx/conf/fastcgi.conf

/usr/local/nginx/conf/fastcgi.conf.default

/usr/local/nginx/conf/fastcgi_params

/usr/local/nginx/conf/fastcgi_params.default

/usr/local/nginx/conf/koi-utf

/usr/local/nginx/conf/koi-win

/usr/local/nginx/conf/mime.types

/usr/local/nginx/conf/mime.types.default

/usr/local/nginx/conf/nginx.conf

/usr/local/nginx/conf/nginx.conf.default

/usr/local/nginx/conf/scgi_params

/usr/local/nginx/conf/scgi_params.default

/usr/local/nginx/conf/uwsgi_params

/usr/local/nginx/conf/uwsgi_params.default

/usr/local/nginx/conf/win-utf

/usr/local/nginx/html

/usr/local/nginx/html/50x.html

/usr/local/nginx/html/index.html

/usr/local/nginx/logs

/usr/local/nginx/sbin

/usr/local/nginx/sbin/nginx

三, 安装与卸载软件

[root@web1 ~]# rpm -ivh RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm

[root@web1 ~]# rpm -qa |grep nginx

[root@web1 ~]# /usr/local/nginx/sbin/nginx

[root@web1 ~]# curl http://127.0.0.1/

[root@web1 ~]# rpm -e RPMS/x86_64/nginx-1.12.2-10.x86_64.rpm

结束.

nginx的RPM包制作案例的更多相关文章

  1. 高级运维(七):Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包

    一.Subversion基本操作 目标: 本案例要求先快速搭建好一台Subversion服务器,并测试该版本控制软件: 1> 创建版本库    2> 导入初始化数据    3> 检出 ...

  2. 使用rpm-build制作nginx的rpm包

    2014-11-27 11:05:49   一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i ...

  3. 二十三.Subversion基本操作、使用Subversion协同工作、制作nginx的RPM包

    1.Subversion基本操作 web1 1.1 安装Subversion服务器 ]# yum -y install subversion 1.1.1 创建版本库 ]# mkdir /var/svn ...

  4. rpm包制作(待实验)

    作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm N ...

  5. 简单介绍RPM包制作方法

    RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中.它生成具有.RPM扩展名的文件.使用r ...

  6. RPM包制作方法

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  7. php-7.1.0 rpm包制作

    nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: ...

  8. RPM包制作教程

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  9. [实战] 给现有的NGINX二进制RPM包加新模块

    [实战] 给现有的NGINX二进制RPM包加新模块 一.前言 在做 wiki 的镜像,这样以后文章就可以使用外链了(链接直接跳转墙内小站). 遇到的问题就是:我的 NGINX 包安装的时候图方便采用 ...

随机推荐

  1. c++复习——临考前的女娲补天 >=.<

    一些零零散散的知识点... 1.抽象类只能作为其他类的基类,不能建立对象,但抽象类的派生类如果给出纯虚函数的函数体,这个派生类仍然是一个抽象类.//这个好理解 懂了 2.抽象类不能作为参数类型,函数的 ...

  2. 回声状态网络ESN(Echo State Networks)

    1.1 网络结构 ESN通过随机地部署大规模系数链接的神经元构成网络隐层,一般称为"储备池".ESN网络具有的特点如下: (1)包含数目相对较多的神经元: (2)神经元之间的连接关 ...

  3. JSP异常处理

    JSP异常处理 当编写JSP程序的时候,程序员可能会遗漏一些BUG,这些BUG可能会出现在程序的任何地方.JSP代码中通常有以下几类异常: 检查型异常:检查型异常就是一个典型的用户错误或者一个程序员无 ...

  4. 运行job检验单元测试覆盖率

    http://ns.jenkins.baidu.com/user/anyixing/my-views/view/Map_ut/job/poi-zhunru/ 1在http://ns.jenkins.b ...

  5. Python学习笔记(二)Sublime Text 3 安装Package Control

    原来Subl3安装Package Control很麻烦,现在简单的方法来了 一.简单的安装方法 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: ...

  6. matlab 重命名文件和文件夹

    1.查看文件存在  dir() 若存在,返回文件信息      dir(‘test.txt’) %查看当前目录是否存在test.txt文件 dir(‘C:\test.txt’) %查看指定目录是否存在 ...

  7. 图论&线性基(?)(8.12)

    边没有负权,最短路最多只有n条边 很暴力的思想: 先跑一遍最短路,找出最短路上的边,枚举每条边,翻倍,放进原图再跑一遍.取最大值 好熟悉啊 分层建图,建k层 每层内部是原图 若原图中u到v有连边,则由 ...

  8. Gradel 多渠道打包 代码混淆

    http://blog.csdn.net/ttccaaa/article/details/47687241 http://www.bubuko.com/infodetail-987756.html h ...

  9. C# WPF 4.5 RibbonWindow

    WPF  RibbonWindow , Z .Net4.5里有自带的RibbonWindow,需要引用 System.Windows.Controls.Ribbon.dll 题外话:自带的Ribbon ...

  10. centos安装mycat(支持mysql8连接)

    1.参考前文安装jdk 2.官网 http://www.mycat.io/ 或 http://dl.mycat.io/ 下载 mycat1.6.7 release 版本 3.解压安装 cd /usr/ ...