zoukankan      html  css  js  c++  java
  • Nginx

    1、安装依赖:

    brew install erlang elixir openssl expat libyaml libiconv libgd sqlite rebar rebar3 automake autoconf

    2、安装:

     brew install nginx

    3、查看

    open /usr/local/etc/nginx/

    4、启动

    nginx

    5、查看进程

    ps -ef | grep nginx

     

     

    实验环境

    1. 一台最小化安装的CentOS 7.3 虚拟机

    安装nginx

    安装nginx依赖包

    yum install -y pcre-devel zlib-devel openssl-devel wget gcc tree vim
    

    Nginx依赖于pcre、zlib、openssl,在编译前配置时如果有问题
    可以使用yum方式安装三个包(pcre-devel、zlib-devel、openssl-devel)

    从Nginx官网下载Nginx源码包

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

    解压Nginx源码包到/root/nginx,并查看Nginx源文件结构

    tar -xzvf nginx-1.12.2.tar.gz
    

    /root/nginx目录进行编译前配置

    cd /root/nginx*
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module
    

    /root/nginx目录执行编译安装

    make && make install
    

    启动nginx

    关闭防火墙

    setenforce 0
    systemctl stop firewalld
    systemctl disable firewalld
    

    进入到安装目录/usr/local/nginx,查看目录结构

    cd /usr/local/nginx
    pwd
    ls
    

    启动Nginx

    /usr/local/nginx/sbin/nginx
    

    查看Nginx进程是否启动

    ps aux | grep nginx
    

    查看Nginx占用的端口号

    netstat -tlnp
    

    使用本地主机访问虚拟机上的Nginx服务器

    停止nginx

    停止Nginx的三种方式

    # 1. 立即停止Nginx服务
    /usr/local/nginx/sbin/nginx -s stop
    
    # 2.完成当前任务后停止
    /usr/local/nginx/sbin/nginx -s quit
    
    # 3.杀死Nginx进程
    killall nginx
    

    把nginx命令添加到环境变量

    使用软连接将nginx链接到/usr/local/sbin

    ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin
    ll /usr/local/sbin/ | grep "nginx"
    

    显示当前环境变量PATH

    echo $PATH
    

    编辑.bash_profile文件

    vim ~/.bash_profile
    

    .bash_profile文件末尾加入以下内容

    export PATH=$PATH:/usr/local/nginx/sbin
    

    引用.bash_profile文件

    source ~/.bash_profile
    

    使用nginx命令

    # 启动nginx
    nginx
    # 停止nginx
    nginx -s quit
    

    nginx命令添加到系统服务

    创建并编辑文件/root/service-nginx.sh

    #!/bin/sh
    #
    # filename: service-nginx.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="/usr/sbin/nginx"
    nginx="/usr/local/sbin/nginx"
    prog=$(basename $nginx)
    
    #NGINX_CONF_FILE="/etc/nginx/nginx.conf"
    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
    
    lockfile=/var/lock/subsys/nginx
    
    make_dirs() {
       # make required directories
       user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`
       if [ -n "$user" ]; then
          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
        fi
    }
    
    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
    # END
    

    /root/service-nginx.sh替换/etc/init.d/nginx

    mv /root/service-nginx.sh /etc/init.d/nginx
    

    赋予可执行限权

    chmod 755 /etc/init.d/nginx
    

    执行

    systemctl start nginx
    

    源码方式安装nginx,自动化安装脚本

    #!/bin/bash
    
    # installation configuration
    NGINX_VERSION=1.12.2
    NGINX_SRC_PATH=/root
    NGINX_BIN_PATH=/usr/local/nginx
    
    # disable firewall
    systemctl stop firewalld
    setenforce 0
    
    # installation dependence
    yum install -y pcre-devel zlib-devel openssl-devel wget gcc
    
    # download nginx source package
    cd ${NGINX_SRC_PATH}
    wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
    
    # unzip source package
    tar -xzvf nginx-${NGINX_VERSION}.tar.gz
    cd ./nginx-${NGINX_VERSION}
    
    # install nginx
    ./configure --prefix=${NGINX_BIN_PATH} --with-http_ssl_module
    make & make install
    
    # start nginx service
    cd ${NGINX_BIN_PATH}/sbin
    ./nginx
    

     转载:xconf.pre-ops.yangege.cn/auth/login

  • 相关阅读:
    WCF 第十三章 可编程站点 为站点创建操作
    WCF 第十三章 可编程站点 所有都与URI相关
    WCF 第十二章 对等网 使用自定义绑定实现消息定向
    WCF 第十三章 可编程站点 使用WebOperationContext
    Using App.Config for user defined runtime parameters
    WCF 第十三章 可编程站点
    WCF 第十三章 可编程站点 使用AJAX和JSON进行网页编程
    WCF 第十二章 总结
    WCF 第十三章 可编程站点 使用WebGet和WebInvoke
    WCF 第十三章 可编程站点 URI和UriTemplates
  • 原文地址:https://www.cnblogs.com/ceshi2016/p/12933313.html
Copyright © 2011-2022 走看看