Linux-CentOS 7.7编译安装Nginx,阿里云Centos 7安装nginx(源码编译安装nginx)

Nginx是一款是由俄罗斯程序设计师Igor Sysoev开发的高性能Web服务器,在面对高并发连接且处理静态资源较多的场景下,推荐使用Nginx替代Apache。

阿里云Centos 7安装nginx(源码编译安装nginx)

Linux编译安装Nginx

安装Nginx环境

操作系统:CentOS 7.7

Pcre:8.43

Zlib:1.2.11

OpenSSL:1.0.2u

Nginx:1.16.1

Nginx安装

第一步 安装依赖包

[[email protected] ~]# yum -y install gcc gcc-c++ autoconf automake

第二步 下载、解压源码包


[[email protected] ~]# cd /usr/local/src/
[[email protected] src]# wget --no-check-certificate http://zlib.net/zlib-1.2.11.tar.gz
[[email protected] src]# wget --no-check-certificate https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
[[email protected] src]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.0.2u.tar.gz
[[email protected] src]# wget --no-check-certificate http://nginx.org/download/nginx-1.16.1.tar.gz
[[email protected] src]# tar xzf zlib-1.2.11.tar.gz
[[email protected] src]# tar xzf pcre-8.43.tar.gz
[[email protected] src]# tar xzf openssl-1.0.2u.tar.gz
[[email protected] src]# tar xzf nginx-1.16.1.tar.gz

第三步 新建用户组、用户

[[email protected] ~]# groupadd nginx
[[email protected] ~]# useradd nginx -M -g nginx -s /sbin/nologin

第四步 编译安装Nginx

[[email protected] ~]# cd /usr/local/src/nginx-1.16.1          
[[email protected] nginx-1.16.1]# ./configure /
--user=nginx /
--group=nginx /
--prefix=/usr/local/nginx /
--with-pcre=/usr/local/src/pcre-8.43 /
--with-openssl=/usr/local/src/openssl-1.0.2u /
--with-zlib=/usr/local/src/zlib-1.2.11 /
--with-http_gzip_static_module /
--with-http_dav_module /
--with-http_stub_status_module /
--with-http_addition_module /
--with-http_sub_module /
--with-http_flv_module /
--with-http_mp4_module /
--with-http_ssl_module  /
--with-http_v2_module
[[email protected] nginx-1.16.1]# make
[[email protected] nginx-1.16.1]# make install

第五步 配置启动服务脚本、开机启动

[[email protected] ~]# vim /etc/init.d/nginx

然后输入下面的脚本

#!/bin/bash
#chkconfig: 2345 55 25
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=nginx
NGINX_BIN=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf 
PIDFILE=/usr/local/nginx/logs/$NAME.pid
if [ -s /bin/ss ]; then
    StatBin=/bin/ss
else
    StatBin=/bin/netstat
fi
case "$1" in
    start)
        echo -n "Starting $NAME... "
        if $StatBin -tnpl | grep -q nginx;then
            echo "$NAME (pid `pidof $NAME`) already running."
            exit 1
        fi
        $NGINX_BIN -c $CONFIGFILE
        if [ "$?" != 0 ] ; then
            echo " failed"      
            exit 1
        else
            echo " done"
        fi
        ;;
    stop)
        echo -n "Stoping $NAME... "
        if ! $StatBin -tnpl | grep -q nginx; then
            echo "$NAME is not running."
            exit 1
        fi
        $NGINX_BIN -s stop
        if [ "$?" != 0 ] ; then
            echo " failed. Use force-quit"
            exit 1
        else
            echo " done"
        fi
        ;;
    status)      
        if $StatBin -tnpl | grep -q nginx; then     
            PID=`pidof nginx`      
            echo "$NAME (pid $PID) is running..."      
        else      
            echo "$NAME is stopped."      
            exit 0      
        fi
        ;; 
    force-quit|kill) 
        echo -n "Terminating $NAME... "
        if ! $StatBin -tnpl | grep -q nginx; then
            echo "$NAME is is stopped."
            exit 1
        fi
        kill `pidof $NAME`
        if [ "$?" != 0 ] ; then
            echo " failed"
            exit 1
        else
            echo " done"
        fi
        ;;
    restart)
        $0 stop
        sleep 1
        $0 start
        ;;
    reload)
        echo -n "Reload service $NAME... "
        if $StatBin -tnpl | grep -q nginx; then
            $NGINX_BIN -s reload
            echo " done"
        else
            echo "$NAME is not running, can't reload."
            exit 1
        fi
        ;;
    configtest)
        echo -n "Test $NAME configure files... "
        $NGINX_BIN -t
        ;;
    *)
        echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"
        exit 1
        ;; 
esac
[[email protected] ~]# chmod +x /etc/init.d/nginx
[[email protected] ~]# chkconfig --add nginx
[[email protected] ~]# chkconfig nginx on

第六步 测试启动

[[email protected] ~]# service nginx start
[[email protected] ~]# curl -s -I http://127.0.0.1 | grep HTTP

官方QQ群号码:922069959(空)1093596563(空)

您可能感兴趣的文章

One thought on “Linux-CentOS 7.7编译安装Nginx,阿里云Centos 7安装nginx(源码编译安装nginx)

留言评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注