• nginx tar.gz安装方法+简单静态文件配置


    1.首先安装依赖包(依赖包有点多,我们采用yum的方式来安装)

    yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel  

    2.将nginx-1.7.6.tar.gz上传到/usr/local/下

      

    tar -zxvf nginx-1.7.6.tar.gz  

    3.编译

      

    cd nginx-1.7.6
    ./configure   
    make
    make install  

    4.启动

    ## 检查配置文件是否正确
    # /usr/local/nginx-1.6/sbin/nginx -t
    # ./sbin/nginx -V # 可以看到编译选项
      
    ## 启动、关闭
    # ./sbin/nginx # 默认配置文件 conf/nginx.conf,-c 指定
    # ./sbin/nginx -s stop
    或 pkill nginx
      
    ## 重启,不会改变启动时指定的配置文件
    # ./sbin/nginx -s reload
    或 kill -HUP `cat /usr/local/nginx-1.6/logs/nginx.pid`

    5.将nginx添加到服务中

     直接复制nginx 文件到/etc/init.d/ 目录下即可

    cp nginx /etc/inin.d/

    然后可以通过service 的指令进行启动,由于是使用了nginx的脚本,所以指令的参数有些不同

    1 启动: service nginx
    2 停止:   service nginx -s stop
    3 重启:   service nginx -s reload

    自己编写启动脚本:

    #!/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="/usr/local/nginx/sbin/nginx" 
    prog=$(basename $nginx) 
    
    NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" 
    
    [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx 
    
    lockfile=/var/lock/subsys/nginx 
    
    start() { 
        [ -x $nginx ] || exit 5 
        [ -f $NGINX_CONF_FILE ] || exit 6 
        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 
    killall -9 nginx 
    } 
    
    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  

    6.加入开机启动

    1.  vi  /etc/rc.local  
    
    2. 在文件加入一行:/etc/init.d/nginx start

    7.配置静态文件服务

      location ^~ /news_file {
              alias /data/attachment/DB40_file/news_file/;
                    expires 30d;  #设置浏览器过期时间
                    #目录或者文件不存在
                    if (!-e $request_filename){
                       return 401;
                    }
              #proxy_store on;  #开启缓存机制
              #proxy_store_access user:rw group:rw all:rw;  #缓存读写规则
              #proxy_temp_path b;       #存放静态文件的缓存目录
              #include proxy.conf;     #外联proxy理的详细配置如proxy_set_header, client_max_body_size ....
            }

    8.配置访问的黑白名单

    # 屏蔽单个ip访问
     
    deny IP; 
    # 允许单个ip访问
     
    allow IP; 
    # 屏蔽所有ip访问
     
    deny all; 
    # 允许所有ip访问
     
    allow all; 
    #屏蔽整个段即从123.0.0.1到123.255.255.254访问的命令
     
    deny 123.0.0.0/8
    #屏蔽IP段即从123.45.0.1到123.45.255.254访问的命令
     
    deny 124.45.0.0/16
    #屏蔽IP段即从123.45.6.1到123.45.6.254访问的命令
     
    deny 123.45.6.0/24

    一个实例:

        server {
            listen       8804;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            allow 121.15.210.97; --允许单个IP访问
            allow 172.18.5.0/24; --允许172.18.5.0 - 172.18.5.254 IP段访问
            deny all; --默认禁止所有IP访问
    
            location / {
                root   html;
                index  index.html index.htm;
            }
  • 相关阅读:
    python3 flask 文件下载服务器
    jquery cdn加速
    cherry 与sqlite
    cherry 与react.js
    cherrypy json 解析
    cherrypy cookies
    cherrypy 打印日志
    cherrypy pytest 覆盖,测试代码
    cherrypy ajax 请求
    cherrypy 访问css文件
  • 原文地址:https://www.cnblogs.com/champaign/p/6018690.html
Copyright © 2020-2023  润新知