Fpm 之 Nginx rpm 包制作

Fpm 之 Nginx rpm 包制作

一、下载nginx编译安包机器上

wget  http://nginx.org/download/nginx-1.12.2.tar.gz

二、安装nginx的编译所需的依赖包

yum -y install pure lib gcc-c++ openssl openssl-devel

三、编译安装nginx

tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure --prefix=/app/nginx-1.12.2 --with-http_ssl_module --with-http_stub_status_module
make && make install

四、以下步骤为fpm包的制定步骤

1.在/app/nginx-1.12.2/目录下创建script目录
mkdir /app/nginx-1.12.2/script

2.创建一个nginx文件,以作启动服务脚本,vi nginx
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
#
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it‘s not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/app/nginx-1.12.2/sbin/nginx
nginx_config=/app/nginx-1.12.2/conf/nginx.conf
nginx_pid=/var/run/nginx.pid  

RETVAL=0
prog="nginx" 

# Source function library.
. /etc/rc.d/init.d/functions  

# Source networking configuration.
. /etc/sysconfig/network  

# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0  

[ -x $nginxd ] || exit 0  

# Start nginx daemons functions.
start() {  

if [ -e $nginx_pid ];then
   echo "nginx already running...."
   exit 1
fi  

   echo -n $"Starting $prog: "
   daemon $nginxd -c ${nginx_config}
   RETVAL=$?
   echo
   [ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
   return $RETVAL  

}  

# Stop nginx daemons functions.
stop() {
        echo -n $"Stopping $prog: "
        killproc $nginxd
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx /var/run/nginx.pid
}  

# reload nginx service functions.
reload() {  

    echo -n $"Reloading $prog: "
 $nginxd -s reload
    #if your nginx version is below 0.8, please use this command: "kill -HUP `cat ${nginx_pid}`"
    RETVAL=$?
    echo  

}  

# See how we were called.
case "$1" in
start)
        start
        ;;  

stop)
        stop
        ;;  

reload)
        reload
        ;;  

restart)
        stop
        start
        ;;  

status)
        status $prog
        RETVAL=$?
        ;;
*)
        echo $"Usage: $prog {start|stop|restart|reload|status|help}"
        exit 1
esac  

exit $RETVAL 
3.在该目录下创建一个server.sh的脚本,以做rpm安装后的后续执行工作,自动添加server 启动服务
#!/bin/bash

cp /app/nginx-1.12.2/script/nginx /etc/init.d/

chmod +x /etc/init.d/nginx

chkconfig --add nginx

chkconfig nginx on
4.fpm生成rpm包
fpm -s dir -t rpm -n nginx -v 1.12.2 -d ‘pcre-devel,openssl-devel‘ --post-install /app/nginx-1.12.2/script/server.sh -f /app/nginx-1.12.2/ 

五、在其它服务器上,如需安装nginx,只需要运行以前命令

yum -y localinstall nginx-1.12.2-1.x86_64.rpm

备注:localinstall 代表通过yum源解决依赖包,然后再安装rpm包,安装完后,就会在/app目录下生成nginx,并且chkconfig 服务已经添加nginx服务。

原文地址:http://blog.51cto.com/12965094/2128583

时间: 2024-11-10 01:11:25

Fpm 之 Nginx rpm 包制作的相关文章

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-

Fpm 之 Mysql-5.7.21 rpm 包制作

Fpm 之 Mysql-5.7.21 rpm 包制作 一.首先将mysql-5.7.21编译安装包,安装到自定义的目录 1. 下载安装包 wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21.tar.gz 2.安装依赖包 yum -y install gc

FPM简介(定制rpm包)

FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前也可以做一些准备,比如检测一下相应的服务是否停止了,在卸载软件再做一些扫尾的工作,只要把这些定义成一个个脚本,fpm中指定相应的选项即可轻松实现.FPM的github: https://github.com/jordansissel/fpm FPM安装 gem sources –a http://m

RPM包制作方法

一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package Manager的缩写.在Fedora.Redhat.Mandriva.SuSE.YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版采用: RPM包中除了包括程序运行时所需要的文件,也有其它的文件:一个RPM包中的应用程序,有时除了自身所带的附加文件保证其正常以外,还需要其它特定

Ngins rpm包制作,spec配置文件

Name:           nginx Version:        1.4.2 Release:        1%{?dist} Summary:        nginx from source Group:          System Environment/Daemons License:        GPLv2 URL:            http://nginx.org Source0:        %{name}-%{version}.tar.gz Source

linux之rpm包制作

难点:spec文件的编写 1,首先安装rpm-build命令 yum install rpm-build 2,介绍spec编写规则: #ll #drwxr-xr-x  2 root root 4096 Jul 29 13:50 BUILD #drwxr-xr-x  2 root root 4096 Jul 29 13:51 RPMS #drwxr-xr-x  2 root root 4096 Jul 29 13:51 SOURCES #drwxr-xr-x  2 root root 4096 J

linux rpm包制作

Linux Rpm 包制作 一.简介 RPM(Red Hat Package Manager)的最常见的软件包管理器. 软件包管理器 rpm,deb(dpkg) RPM包命名:name-version-release.architecture.rpm. xorg-x11-xsm-1.0.2 -4.fc6.i386.rpm 包名       版本号 编译次数 厂商 平台 RPM功能:安装.卸载.升级.查询和验证. rpm     -ivh              安装 rpm     -Uvh

rpm包制作(待实验)

作者:firefoxbug 时间:July 18, 2014 rpm包命名规范 对于rpm包的命名符合如下规范. %{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm NAME: rpm包名字 VERSION: rpm包版本号(主版本号.次版本号.测试号) RELEASE: rpm包编译发布次数(第几次编译发布) ARCH: cpu架构(比如i386和x86_64,i386兼容x86_64,noarch的代表一些列脚本) 比如nginx-1.4.0-24.x86.r

php-7.1.0 rpm包制作

nginx-1.8.0 rpm包制作见上篇文章:http://www.cnblogs.com/xiaoming279/p/6251149.html spec文件 Name: php Version: 7.1.0 Release: 1%{?dist} Summary: php Group: Applications/Server License: GPLv2 URL: http://www.51.com Source0: %{name}-%{version}.tar.gz Source1: php