使用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. 如何理解重载与重写——Overload vs Override/Overwrite

    重载: 在同一个类中,拥有类似功能的同名方法之间的关系叫做重载. 重载的条件:1.具有相同方法名和类似功能: 2.参数的类型或者个数不同: 3.与返回值无关: 重写: 在子父类的继承关系中,子类继承父 ...

  2. Hadoop 服务SYS CPU过高导致宕机问题

    最近某hadoop集群多次出现机器宕机,现象为瞬间机器的sys cpu增长至100%,机器无法登录.只能硬件重启,ganglia cpu信息如下: 首先怀疑有用户启动了比较奇葩的job,导致不合理的系 ...

  3. jQuery .ready()

    https://www.w3schools.com/jquery/event_ready.asp Example Use ready() to make a function available af ...

  4. What is the difference between Kill and Kill -9 command in Unix?

    w difference kill -9 pid and kill pid command - Ask Ubuntu  https://askubuntu.com/questions/791841/d ...

  5. 如何将阿里云上的RDS 备份的mysql数据还原到windows环境中

    一.本地mysql数据库创建与备份库一致的数据库名,如testdb: 二.本地创建与备份库一致的数据库表,记得设置ALTER TABLE tableName1 ROW_FORMAT = compact ...

  6. 002-js-cookie

    cookie操作方法 1.写cookie //JS操作cookies方法! //写cookies function setCookie(name,value) { var Days = 30; var ...

  7. 阶段1 语言基础+高级_1-2 -面向对象和封装_16this关键字的作用

    this主要是在重名的情况下 ,起到区分的效果 新建demo04的包,里面新建类Person 通过this.进行区分 this关键字可以解决重名 分不开的问题 这里的person调用的sayHello ...

  8. 阶段1 语言基础+高级_1-3-Java语言高级_03-常用API第二部分_第6节 基本类型包装类_1_包装类的概念

    只有这两个比较特殊

  9. seaborn

    Seaborn是基于matplotlib的Python数据可视化库. 它提供了一个高级界面,用于绘制引人入胜且内容丰富的统计图形. 一  风格及调色盘 风格 1 sns.set()  模式格式 2 s ...

  10. python实现excel转换成pdf

    1.安装 需要安装pywin32包,以实现对Office文件的操作,可以批量转换为pdf文件.支持 doc, docx, ppt, pptx, xls, xlsx 等格式. pip install p ...