CentOS7.6_ARM版本-离线编译安装Nginx1.18.0


CentOS7.6ARM版本-离线编译安装Nginx1.18.0

nginx下载官方地址: nginx-1.18.0.tar.gz

1. 安装依赖包

mkdir -p /opt/soft && cd /opt/soft
yum install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl -y

1. 下载并解压

curl -o openssl-OpenSSL_1_1_1a.tar.gz https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no-check-certificate
tar -zxvf openssl-OpenSSL_1_1_1a.tar.gz
curl -o nginx-1.18.0.tar.gz https://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz

2.编译源码

cd /opt/soft/nginx-1.18.0
./configure --prefix=/opt/tbp/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_perl_module --with-pcre --with-openssl=/opt/soft/openssl-OpenSSL_1_1_1a
make -j8 && make install

3.创建启动项脚本

cat >> /etc/init.d/nginx <<EOF
#! /bin/bash
# chkconfig: - 85 15

PATH=/opt/tbp/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
EOF

4.添加启动项脚本权限

chmod +x /etc/init.d/nginx

5.添加服务

chkconfig --add nginx

5.配置启动级别

chkconfig --level 2345 nginx on

5.总结一句话脚本

mkdir -p /opt/soft && cd /opt/soft && \
yum install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel perl-devel perl-ExtUtils-Embed perl-WWW-Curl -y && \
curl -o openssl-OpenSSL_1_1_1a.tar.gz https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no-check-certificate  && \
tar -zxvf openssl-OpenSSL_1_1_1a.tar.gz  && \
curl -o nginx-nginx-release-1.18.0-0-ge6b3a11.tar.gz https://api.github.com/repos/nginx/nginx/tarball/release-1.18.0  && \
tar -zxvf nginx-nginx-release-1.18.0-0-ge6b3a11.tar.gz && \
cd /opt/soft/nginx-1.18.0 && \
./configure --prefix=/opt/tbp/nginx --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gzip_static_module --with-http_perl_module --with-pcre --with-openssl=/opt/soft/openssl-OpenSSL_1_1_1a && \
make -j8 && make install && \
cat >> /etc/init.d/nginx <<EOF
#! /bin/bash
# chkconfig: - 85 15

PATH=/opt/tbp/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0
EOF

chmod +x /etc/init.d/nginx && \
chkconfig --add nginx && \
chkconfig --level 2345 nginx on


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM