Centos7 Nginx 离线安装

  1. 解压 gz (注意解压路径 我选择在/usr/local/nginx 下,/usr/local/下没有 nginx  请自行创建文件夹nginx)

    tar -zxvf nginx-1.18.0.tar.gz 

  2. 给Linux 添加 nginx 用户及用户组执行权限
     

     groupadd -r nginx   ​ 
     useradd -r -g nginx -s /bin/false -M nginx  

  3. 执行./configure命令:

     

     ./configure --sbin-path=/usr/local/nginx/nginx \
    --conf-path=/usr/local/nginx/nginx.conf \
    --pid-path=/usr/local/nginx/nginx.pid \
    --with-http_gzip_static_module \
    --with-http_stub_status_module \
    --with-file-aio \
    --with-http_realip_module \
    --with-http_ssl_module \
    --with-pcre=/usr/local/src/pcre-8.44 \
    --with-zlib=/usr/local/src/zlib-1.2.11 \
    --with-openssl=/usr/local/src/openssl-1.1.1g

    其中 pcre、zlib、openssl是nginx 必要的依赖插件,后边是各个插件对应的安装位置

    这里需要安装 pcre-8.44 zlib-1.2.11 openssl-1.1.1g

    gz 工具包在网盘  在文章最后 
     #  
    >>> 会提示这个错误   >>>     ./configure: error: C compiler cc is not found >>> 解决办法(因为上面那条命令式重新编译nginx,需要C环境所以需要安装环境):  
    >>>     yum -y install gcc gcc-c++ autoconf automake make        
      解决错误后再执行 ./configure --   命令

  4.  编译并安装
     
    make && make install

  5. 将nginx 注册到服务器里
     1. 编辑脚本
       

     sudo vim /etc/init.d/nginx

        2.脚本内容

    #! /bin/sh
    # chkconfig: 2345 55 25
    # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and
    # run 'update-rc.d -f nginx defaults', or use the appropriate command on your
    # distro. For CentOS/Redhat run: 'chkconfig --add nginx'
    
    ### BEGIN INIT INFO
    # Provides:          nginx
    # Required-Start:    $all
    # Required-Stop:     $all
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: starts the nginx web server
    # Description:       starts nginx using start-stop-daemon
    ### END INIT INFO
    
    # Author:   licess
    # website:  https://lnmp.org
    
    NGINX_BIN='/usr/local/nginx/sbin/nginx'
    CONFIG='/usr/local/nginx/conf/nginx.conf'
    
    case "$1" in
        start)
            echo -n "Starting nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                echo "nginx (pid $PID) already running."
                exit 1
            fi
    
            $NGINX_BIN -c $CONFIG
    
            if [ "$?" != 0 ]; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
            ;;
    
        stop)
            echo -n "Stoping nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" = "" ]; then
                echo "nginx is not running."
             exit 1
            fi
    
            $NGINX_BIN -s stop
    
            if [ "$?" != 0 ] ; then
             echo " failed. Use force-quit"
                $0 force-quit
         else
                echo " done"
            fi
            ;;
    
        status)
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                echo "nginx (pid $PID) is running..."
            else
                echo "nginx is stopped."
                exit 0
            fi
            ;;
    
        force-quit|kill)
            echo -n "Terminating nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" = "" ]; then
                echo "nginx is is stopped."
                exit 1
            fi
    
            kill $PID
    
            if [ "$?" != 0 ]; then
                echo " failed"
                exit 1
            else
                echo " done"
            fi
            ;;
    
        restart)
            $0 stop
            sleep 1
            $0 start
            ;;
    
        reload)
            echo -n "Reload nginx... "
    
            PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}')
            if [ "$PID" != "" ]; then
                $NGINX_BIN -s reload
                echo " done"
            else
                echo "nginx is not running, can't reload."
                exit 1
            fi
            ;;
    
        configtest)
            echo -n "Test nginx configure files... "
    
            $NGINX_BIN -t
            ;;
    
        *)
            echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}"
            exit 1
            ;;
    
    esac

    注意 其中
    NGINX_BIN='/usr/local/nginx/sbin/nginx'
    CONFIG='/usr/local/nginx/conf/nginx.conf'
    两个路径的书写跟 自己配置的路径保持一致

  6.  添加至服务
     

    chkconfig --add nginx
  7. 设置开机自启
     

    chkconfig nginx on

  8. 设置环境变量 

    vi /etc/profile

      
     

    source /etc/profile

这里需要安装 nginx-1.18.0.tar.gz pcre-8.44 zlib-1.2.11 openssl-1.1.1g

工具包在网盘

百度网盘 请输入提取码   lcr2

   

 
   
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值