• nginx安装/使用


    NGINX 安装/使用

    下载&安装

    选择稳定版即可 http://nginx.org/en/download.html

    解压 tar -zxvf nginx-1.16.1.tar.gz

    ./configure --without-http_rewrite_module --without-http_gzip_module

    PCRE 作用是让 Nginx 支持 Rewrite 功能

    configure对即将安装的软件进行配置,检查当前的环境是否满足要求,成功执行后生成makefile文件

    make && make install

    默认安装在/usr/local/nginx/

    常用命令

    用法: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
    选项:
      -?,-h         : 帮助
      -v            : 显示版本信息,退出
      -V            : 显示版本信息和配置信息,退出
      -t            : 检查配置文件语法,退出
      -q            : suppress non-error messages during configuration testing
      -s signal     : 发送指令,stop停止、quit退出、reopen重启、reload重新加载nginx.conf
      -p prefix     : set prefix path (default: /usr/local/nginx/)
      -c filename   : set configuration file (default: conf/nginx.conf)
      -g directives : set global directives out of configuration file

    nginx.cnf 详解

    配置文件最外层就是一个 main{} 省略了而已

    worker_processes  8;    #处理请求的进程数,初始值可设置为cpu总核数 (cat /proc/cpuinfo| grep "processor"| wc -l)
    pid    logs/nginx.pid;    #把进程号记录到文件,用于管理nginx进程
    #IO事件模型与worker进程连接数设置
    events{
        #use epoll;    #linux2.6以上内核高性能网络IO模型
        worker_connections  1024;    #单个worker进程最大连接数
    }
    #http模块设置
    http{
        include       mime.types;    #引入mime映射文件
        default_type  application/octet-stream;    #默认文件类型
        #日志输出格式
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
        access_log  logs/access.log  main;    #main日志输出到指定文件
        sendfile on;    #开启高效文件传输模式
        keepalive_timeout  65;    #连接超时时间,单位(秒)
        server{
            listen       80;    #监听的端口
            server_name  localhost; #域名
            location / { # ‘/’表示所有请求
                #所有请求代理到指定ip指定端口
                proxy_pass http://192.168.1.1:8892/;   
            }
            #将服务器错误页重定向到静态页/50x.html
            error_page   500 502 503 504  /50x.html;
            location = /50x.html { # ‘= /50x.html’ 精准匹配
                root   html; #这里的html表示相对路径的目录
            }
        }
    }

    目录访问/文件下载

    修改配置文件 nginx.conf

    server{
        listen       80;    #监听的端口
        server_name  localhost; #域名
    default_type 'text/html'; #解决中文乱码
    charset utf-8; #解决中文乱码 autoindex on; #开启nginx目录浏览功能(默认关闭) autoindex_exact_size off; #关闭显示出文件的确切大小,单位是bytes(默认开启) autoindex_localtime on; #显示文件修改时间为服务器本地时间(默认关闭) location / { # '/' 表示所有请求 root /home; #站点根目录 } #将服务器错误页重定向到静态页/50x.html error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
    1. root 根目录
    2. autoindex [on/off] 是否开启目录浏览(默认关闭)
    3. autoindex_exact_size [on/off] #关闭文件以bytes单位显示(默认开启)
    4. autoindex_localtime [on/off] #显示文件修改时间为服务器本地时间(默认关闭)

    反向代理

    server{
        listen       80;    #监听的端口
        server_name  localhost; #域名
        location / { # ‘/’表示所有请求
            #所有请求代理到指定ip指定端口
            proxy_pass http://127.0.0.1:8080;  
        }
        #将服务器错误页重定向到静态页/50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html { # ‘= /50x.html’ 精准匹配
            root   html;
        }
    }
    1. proxy_pass 代理通往指定服务

    负载均衡

    1. 轮询 ——1:1 轮流处理请求(默认)

    每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。 

    1. 权重 ——you can you up

    通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。 

    1. ip_哈希算法

    每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。 

    upstream tomcatserver {
            server 127.0.0.1:8080 down;
            server 127.0.0.1:8081;
            server 127.0.0.1:8082 weight=2;
            server 127.0.0.1:8083 backup;
    }
    server{
        listen       80;    #监听的端口
        server_name  localhost; #域名
        location / { # ‘/’表示所有请求
            #所有请求分发到upstream配置的服务
            proxy_pass http://tomcatserver;
        }
        #将服务器错误页重定向到静态页/50x.html
        error_page   500 502 503 504  /50x.html;
        location = /50x.html { # ‘= /50x.html’ 精准匹配
            root   html;
        }
    }
    1. down 表示单前的server暂时不参与负载
    2. weight 默认为1,weight越大,负载的权重就越大。
    3. backup 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
  • 相关阅读:
    SQL中top使用方法
    event.keyCode 事件属性
    A Novel Multi-label Classification Based on PCA and ML-KNN
    Android 浏览器开发WebView setBlockNetworkImage本末
    ASIHTTPRequest 对GET POST 请求简包
    九度OJ 1177 查找 (模拟)
    【Java GUI】Java GUI基金会
    iOS开展-clang: error: unknown argument: '-websockets'解决方案
    java学习笔记2015-6-6
    oracle 选择最频繁出现之前,5文章数据
  • 原文地址:https://www.cnblogs.com/pidgey/p/11799104.html
Copyright © 2020-2023  润新知