制作nginx的RPM包

RPM为Redhat Package
Manager缩写,是一个为Redhat系列Linux生产软件包的小工厂。其产品是RPM包,包含一些归档文件和meta信息;这些meta信息用来
记录如何安装和删除这些文件,一些帮助脚本,文件属性和描述行信息(如包依赖哪些包和被哪些包依赖)。整个RPM包的制作过程严格按照SPEC文件规范的
执行,然后通过rpmbuild命令来解析SPEC文件生成对应的RPM包。

至于为什么要制作rpm包,大家都明白,方便部署,比起源码来,这个部署速度更快

下面让以nginx为例,做rpm包制作:

1、安装需要的工具:

[[email protected] ~]# yum -y install rpm-build rpmdevtools

2.下载nginx源码包

wget

3.生成spec文件

rpmdev-newspec -o nginx-1.6.3.spec
Skeleton specfile (minimal) has been created to "nginx-1.6.3.spec".

4.编辑spec文件

> nginx-1.6.3.spec
Name:           nginx-1.6.3
Version:        1.6.3
Release:        1%{?dist}
Summary:        mall and high performance HTTP and reverse proxy server

Group:          System Environment/stable
License:        el6
URL:            http://nginx.org
Source0:        http://nginx.org/download/nginx-1.6.2.tar.gz
BuildRoot:      %{_topdir}/BUILDROOT

BuildRequires: pcre-devel,zlib-devel,openssl,perl,perl(ExtUtils::Embed)
Requires:      gcc,gcc-c++,make,pcre,openssl,perl-ExtUtils-Embed

%description

Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3
proxy server written by Igor Sysoev.

%prep
%setup -q

%build
./configure
    --user=nginx
    --group=nginx
    --prefix=/usr/local/src/nginx-1.6.3
    --with-http_ssl_module
    --with-http_realip_module
    --with-http_addition_module
    --with-http_sub_module
    --with-http_dav_module
    --with-http_flv_module
    --with-http_gzip_static_module
    --with-http_stub_status_module
    --with-http_perl_module
    --with-mail
    --with-mail_ssl_module
#make %{?_smp_mflags}
make
%install
#rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%post
chkconfig --add nginx
chkconfig --level 345 nginx on
echo "ulimit -SHn 51200" >> /etc/rc.local

%files
%defattr(-,root,root,-)
%doc

%changelog

5.开始制作

[[email protected] src]# rpmbuild -bb nginx-1.6.3.spec 
=======报错=========
error: File /root/rpmbuild/SOURCES/nginx-1.6.3.tar.gz: No such file or directory
=======解决=========
[[email protected] src]# mv nginx-1.6.3.tar.gz /root/rpmbuild/SOURCES/
=======重新执行=====
[[email protected] src]# rpmbuild -bb nginx-1.6.3.spec 
error: Failed build dependencies:
    pcre-devel is needed by nginx-1.6.3-1.6.3-1.el6.x86_64
    zlib-devel is needed by nginx-1.6.3-1.6.3-1.el6.x86_64
========解决========
[[email protected] src]# yum -y install pcre-devel zlib-devel
=======重新执行=====
时间: 2024-10-11 00:29:03

制作nginx的RPM包的相关文章

使用rpm-build制作nginx的rpm包

一.RPM包的分类 RPM有五种基本的操作功能:安装.卸载.升级.查询和验证. linux软件包分为两大类: (1)二进制类包,包括rpm安装包(一般分为i386和x86等几种) (2)源码类包,源码包和开发包应该归位此类(.src.rpm). 有时候为了方便源码包的安装,和我们自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,当有了源码包就可以直接编译得到二进制安装包和其他任意包.spec file是制作rpm包最核心的部分,rpm包的制作就是根据spec file来实现的

nginx的rpm包制作

nginx prm包 详细制作流程 1.准备工作 1.1:我这里准备了一台centos7的虚拟主机 1.2:官网下载最新的稳定版nginx源码包,地址:http://nginx.org/nginx-1.10.2.tar.gz 1.3:官网下载nginx的控制脚本,地址:https://www.nginx.com/resources/wiki/start/topics/examples/redhatnginxinit/ 1.4:手动安装一遍,看看都需要哪些依赖,所需依赖:gcc-c++,pcre-

通过定制nginx的rpm包学习如何制作rpm安装包

RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中.它生成具有.RPM扩展名的文件.使用rpm安装软件和管理软件非常的方便. 1.安装rpm-build [[email protected] ~]# yum -y install rpm-build redhat-rpm-config 2.建立目录结构 [[email protected] ~]# mkdir -p ~/rpmbuild/

FPM打包工具制作Tengine为RPM包详解

目录 1.Tengine编译安装 2.FPM制作Tengine为RPM包 3.总结 1.Tengine编译安装 [[email protected] ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m [[email protected] ~]# uname -r 2.6.32-358.el6.x86_64 请确保系统安装了"Development tools"和"Server Platform D

linux下使用checkinstall 制作zabbix的rpm包

目前,想要在所有的client端安装zabbix client,因为想要指定预定义的路径,通过zabbix资源制作rpm包,制作rpm包的方式有多种 一种是:rombuild的方式,主要是编写spec的文件 一种是:checkinstall 开源的 一种是:fpm,ruby写的,也是开源的 学习通过checkinstall 的方式,制作rpm包 1.下载安装 wget http://asic-linux.com.mx/~izto/checkinstall/files/source/checkin

FPM打包工具制作线上nginx的RPM包

一.安装FPM打包工具 1.FPM是ruby的模块,先安装FPM依赖的包 [[email protected] ~]#  yum -y install ruby rubygems ruby-devel rpm-build 2.因国内网络环境,访问http://rubygems.org/站点时不稳定,所以增加国内toabao提供的一个镜像站点,把原来的站点移除 [[email protected] ~]#  gem sources -a https://ruby.taobao.org/ [[ema

Centos6.5利用RubyGems的fpm制作zabbix_agent的rpm包,并使用ansible批量部署

一. 搭建rpm包制作环境 安装gcc [[email protected] ~]# yum install gcc 安装make [[email protected] ~]# yum install make 安装ruby源(ruby版本必须要在1.9.3以上,centos自带的是1.8的版本,需要自己编译安装) [[email protected] ~]# yum install ruby rubygems ruby-devel 查看ruby源 [[email protected] ~]# 

制作FastDFS的RPM包

首先获取fastdfs的源码,因为fastdfs还依赖一个libfastcommon的库,所以也要准备好. fastdfs的源码目录结构: libfastcommon的源码目录结构: 接下来将以CentOS 7来进行制作: 首先安装开发环境: yum -y groupinstall "Development Tools" "Server Platform Development" 安装完成后,创建目录: mkdir -pv rpmbuild/{SOURCES,SPE

ubuntu上利用checkinstall制作deb或rpm包

1.安装checkinstall sudo apt-get install checkinstall 2.编译源码 通常的源码编译需要经过configure或cmake,之后再通过make编译. configure or cmake make 3.打包 make后执行 sudo checkinstall 随后跟随系统提示操作: 第一步,是否生成文档,选"yes" The package documentation directory ./doc-pak does not exist.