• (转)CentOS7安装Nginx1.14.2


    原文:https://blog.csdn.net/zhyfyz/article/details/84957381

    https://blog.csdn.net/q85795362/article/details/82891997-----centos7编译安装nginx1.14.0

    https://blog.csdn.net/qq_32828933/article/details/82715798---CentOS 7.5 编译安装 Nginx 1.15.3

    安装make:

    yum -y install gcc automake autoconf libtool make

    安装g++:

    yum install gcc gcc-c++

    安装pcre和pcre-devel

    yum install -y pcre pcre-devel

    安装zlib zlib提供了很多压缩和解方式,nginx需要zlib对http进行gzip

    yum install -y zlib zlib-devel

    安装openssl openssl是一个安全套接字层密码库,nginx要支持https,需要使用openssl

    yum install -y openssl openssl-devel

    下载nginx

    wget http://nginx.org/download/nginx-1.14.2.tar.gz

    解压

    tar -zxvf nginx-1.14.2.tar.gz
    1
    cd到文件路径

    cd nginx-1.14.2

    编译

    ./configure --prefix=/application
    --sbin-path=/application/nginx/sbin/nginx
    --conf-path=/application/nginx/conf/nginx.conf
    --error-log-path=/application/nginx/logs/error.log
    --pid-path=/application/nginx/nginx.pid
    --lock-path=/application/nginx/nginx.lock
    --user=nginx
    --group=nginx
    --with-openssl=/usr/local/bin/openssl
    --with-http_flv_module
    --with-http_gzip_static_module
    --http-log-path=/application/nginx/logs/access.log
    --http-client-body-temp-path=/application/nginx/client
    --http-proxy-temp-path=/application/nginx/proxy
    --http-fastcgi-temp-path=/application/nginx/fcgi
    --with-http_stub_status_module


    安装

    make && make install

    创建开机启动命令脚本文件

    vim /etc/init.d/nginx

    插入启动脚本代码

    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemon
    #
    # chkconfig: - 85 15
    # description: NGINX is an HTTP(S) server, HTTP(S) reverse
    # proxy and IMAP/POP3 proxy server
    # processname: nginx
    # config: /etc/nginx/nginx.conf
    # config: /etc/sysconfig/nginx
    # pidfile: /var/run/nginx.pid

    # Source function library.
    . /etc/rc.d/init.d/functions

    # Source networking configuration.
    . /etc/sysconfig/network

    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit 0

    nginx="/application/nginx/sbin/nginx" #对应编译安装时的sbin-path
    prog=$(basename $nginx)

    NGINX_CONF_FILE="/application/nginx/conf/nginx.conf"

    [ -f /application/nginx/sbin/nginx ] && /application/nginx/sbin/nginx -t

    lockfile=/application/nginx/nginx.lock

    make_dirs() {
    # make required directories
    user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`
    if [ -z "`grep $user /etc/passwd`" ]; then
    useradd -M -s /bin/nologin $user
    fi
    options=`$nginx -V 2>&1 | grep 'configure arguments:'`
    for opt in $options; do
    if [ `echo $opt | grep '.*-temp-path'` ]; then
    value=`echo $opt | cut -d "=" -f 2`
    if [ ! -d "$value" ]; then
    # echo "creating" $value
    mkdir -p $value && chown -R $user $value
    fi
    fi
    done
    }

    start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    make_dirs
    echo -n $"Starting $prog: "
    daemon $nginx -c $NGINX_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
    }

    stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
    }

    restart() {
    configtest || return $?
    stop
    sleep 1
    start
    }

    reload() {
    configtest || return $?
    echo -n $"Reloading $prog: "
    killproc $nginx -HUP
    RETVAL=$?
    echo
    }

    force_reload() {
    restart
    }

    configtest() {
    $nginx -t -c $NGINX_CONF_FILE
    }

    rh_status() {
    status $prog
    }

    rh_status_q() {
    rh_status >/dev/null 2>&1
    }

    case "$1" in
    start)
    rh_status_q && exit 0
    $1
    ;;
    stop)
    rh_status_q || exit 0
    $1
    ;;
    restart|configtest)
    $1
    ;;
    reload)
    rh_status_q || exit 7
    $1
    ;;
    force-reload)
    force_reload
    ;;
    status)
    rh_status
    ;;
    condrestart|try-restart)
    rh_status_q || exit 0
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
    exit 2
    esac


    保存

    :wq

    设置所有人都有对这个启动脚本nginx文件的执行权限

    chmod a+x /etc/init.d/nginx

    把nginx加入系统服务中

    chkconfig --add nginx

    如果出现 [emerg] mkdir() “/var/temp/nginx/client” failed (2: No such file or directory) 错误 执行

    sudo mkdir -p /var/tem/nginx/client

    检查nginx配置是否成功

    nginx -t

    启动

    nginx

    重启

    nginx -s reload

    如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload

    至此服务器配置完成。

  • 相关阅读:
    Codeforces Round #669 (Div. 2) A、B题题解
    【证明】树上问题-树的直径
    Web前端开发——概述
    Codeforces Round #667 (Div. 3) A
    Codeforces Round #529 (Div. 3) 练习赛
    [Noip2012] 开车旅行 (倍增DP,难)
    国家集训队论文列表(1999-2019)
    博弈论经典模型解析(入门级)
    Problem 1342B
    SCOI2005 互不侵犯 (状态压缩入门题)
  • 原文地址:https://www.cnblogs.com/liujiacai/p/10288431.html
Copyright © 2020-2023  润新知