Fpm 之 Nginx rpm 包制作
阿新 • • 發佈:2018-06-12
fpm nginxFpm 之 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 包制作