Fpm 의 Nginx rpm 패키지 제작

Fpm 의 Nginx rpm 패키지 제작
1. nginx 컴 파일 패키지 기계 에서
wget  http://nginx.org/download/nginx-1.12.2.tar.gz

2. nginx 의 컴 파일 에 필요 한 의존 패키지 설치
yum -y install pure lib gcc-c++ openssl openssl-devel

3. 컴 파일 설치 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

4. 다음 절 차 는 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/ 

5. 다른 서버 에 nginx 를 설치 하려 면 이전 명령 만 실행 해 야 합 니 다.
yum -y localinstall nginx-1.12.2-1.x86_64.rpm

  :localinstall     yum      ,     rpm ,    ,   /app     nginx,  chkconfig       nginx  。

좋은 웹페이지 즐겨찾기