Fpm 之 Nginx rpm 包制作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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服务。
以上是关于Fpm 之 Nginx rpm 包制作的主要内容,如果未能解决你的问题,请参考以下文章