FPM 打包

yum -y install lua-devel patch libgeoip libgeoip-dev libtool libtool-ltdl libtool-ltdl-devel libxslt-devel libxslt libxml2 libxml2-dev libxml2-devel gd-devel gd GeoIP GeoIP-devel GeoIP-data gperftools gcc gcc-c++ zlip zlib-devel zlib make cmake autoconf openssl-devel libwebp-devel libwebp libvpx initscripts
fpm -s dir -t rpm -n nginx -v 1.16.1 --iteration 1.el7 -C /fpm-build -p /root --description 'Nginx rpm For Centos7' -d 'pcre,pcre-devel,openssl-devel,jemalloc,glibc' --post-install /tmp/install_after.sh --post-uninstall /tmp/remove_after.sh


fpm -s dir -t rpm -n nginx -v 1.16.1 --iteration 1.el7 -p /root --description 'Nginx rpm For Centos7' --post-install /tmp/install_after.sh --post-uninstall /tmp/remove_after.sh /usr/local/nginx /opt/modules /data
-t rpm \      #选择打包的类型,可以是deb或rpm等等等等
-n nginx-wangsu \    #设定软件包的名称
-v 1.16.0 \          #设定软件包的版本
--iteration 1.el7 \  #设定rpm包的版本
-C /fpm-build \      #指定上下文目录
-p /root \           #指定rpm包生成的路径
--description 'Wangsu Nginx rpm For Centos7' \
--url 'www.wangsucloud.com' \
-d 'jemalloc >= 3.5.0,glibc >= 2.16' \  
#-d用于设定nginx依赖的软件包,在使用yum安装的时候会根据这个配置解决依赖关系
-m 'laihehui<laihh@wangsu.com>' \    #设定打包人的个人信息
--post-install /root/ng/tmp/install_after.sh \    #设定rpm安装脚本
--post-uninstall /root/ng/tmp/remove_after.sh     #设定rpm卸载脚本

echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf

[root@site1 tmp]# cat install_after.sh
#!/usr/bin/env bash

source /etc/rc.d/init.d/functions
getent group www > /dev/null || groupadd -r www
getent passwd www > /dev/null || useradd -r -g www -s /sbin/nologin www


ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx
[root@site1 tmp]# cat remove_after.sh
#!/usr/bin/env bash
source /etc/rc.d/init.d/functions
/usr/bin/rm -rf \
/usr/lib/systemd/system/nginx.service \
/usr/local/nginx \
/usr/sbin/nginx \
/opt/modules \
/data \


yum -y install epel-release
yum install -y lrzsz vim unzip xz wget curl git sysstat make bash-completion bind-utils psmisc sshpass gcc-c++ gcc zlib-devel libxslt-devel gd-devel patch perl-devel libtool initscripts


#!/usr/bin/env bash
CREATEU() {
source /etc/rc.d/init.d/functions
getent group nginx > /dev/null || groupadd -r nginx
getent passwd nginx > /dev/null || useradd -r -g nginx -s /sbin/nologin nginx
}

MAKEIN() {
chown -R root.root /usr/local/src/
./configure
make
make install
echo -e "\033[32mSuccess\033[0m"
cd /usr/local/src/
}

MAKEINSTALL() {
mkdir /usr/local/src/ ; cd /usr/local/src/
wget -P /usr/local/src/ http://tar.realbwt.com/nginx/libunwind-1.1.tar.gz
tar -xf libunwind-1.1.tar.gz && cd /usr/local/src/libunwind-1*
MAKEIN > /dev/null
wget -P /usr/local/src/ http://tar.realbwt.com/nginx/gperftools-2.1.tar.gz
tar -xf gperftools-2.1.tar.gz && cd gperftools-2.1*
MAKEIN > /dev/null
wget -P /usr/local/src/ http://tar.realbwt.com/nginx/LuaJIT-2.0.3.tar.gz
tar -xf LuaJIT-2.0.3.tar.gz && cd LuaJIT-2.0*
make > /dev/null
make install > /dev/null
cd /usr/local/src/
wget -P /usr/local/src/ http://tar.realbwt.com/nginx/libmaxminddb-0.5.5.tar.gz
tar -xf libmaxminddb-0.5.5.tar.gz && cd libmaxminddb-0.5*
MAKEIN > /dev/null
wget -P /usr/local/src/ http://tar.realbwt.com/nginx/GeoIP.tar.gz
tar -xf GeoIP.tar.gz && cd GeoIP*
MAKEIN > /dev/null
cd
}

SOLN() {
ln -s /usr/local/lib/libmaxminddb.so.0 /usr/lib64/libmaxminddb.so.0
ln -s /usr/local/lib/libunwind.so.8 /usr/lib64/libunwind.so.8
ln -s /usr/local/lib/libluajit-5.1.so.2 /usr/lib64/libluajit-5.1.so.2
ln -s /usr/local/lib/libtcmalloc_minimal.so.4 /usr/lib64/libtcmalloc_minimal.so.4
ln -s /usr/local/lib/libprofiler.so.0 /usr/lib64/libprofiler.so.0
}

CREATEU > /dev/null ; echo $? && echo -e "\033[32mSuccess\033[0m"
MAKEIN > /dev/null ; echo $? && echo -e "\033[32mSuccess\033[0m"
MAKEINSTALL > /dev/null ; echo $? && echo -e "\033[32mSuccess\033[0m"
SOLN > /dev/null ; echo $? && echo -e "\033[32mSuccess\033[0m"







cat /etc/logrotate.d/nginx

/data/nginx/logs/*.log
{
rotate 7
daily
dateext
dateformat .%Y%m%d
compress
missingok
notifempty
create 0644 admin admin
sharedscripts
postrotate
/usr/bin/killall -HUP rsyslogd >/dev/null 2>&1 || true
[ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
endscript
}