31.Nginx

作者: 星野君 | 来源:发表于2022-05-16 14:00 被阅读0次

    一、Nginx下载安装

    下载安装:

    1. 官网下载nginx,或者使用
    wget https://nginx.org/download/nginx-1.20.2.tar.gz
    
    1. 安装依赖
    yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
    
    1. 解压
    tar -zxvf nginx-1.20.2.tar.gz
    
    1. 进入目录
    cd nginx-1.20.2
    
    1. 安装
    ./configure --prefix=/usr/local/nginx
    make && make install
    

    二、nginx目录结构

    • conf/nginx.conf nginx配置文件
    • html 存放静态文件
    • logs 日志目录,日志文件
    • sbin/nginx 二进制文件,用于启动停止nginx服务

    三、Nginx常用命令
    在sbin目录下执行:

    ./nginx -v #查看版本号
    ./nginx -t #查看nginx.conf文件配置是否错误
    ./nginx    #启动nginx
    ./nginx -s stop  #停止nginx服务
    ./nginx -s reload #重写加载配置文件
    

    配置nginx环境变量

    vim /etc/profile
    添加
    PATH=/usr/local/nginx/sbin:$JAVA_HOME/bin:$PATH
    最后执行
    source /etc/profile
    

    四、Nginx配置文件结构

    • 全局块 和Nginx运行相关的全局配置
    • events块 和网络连接相关的配置
    • http块 代理、缓存、日志记录、虚拟主机配置
      • http全局块
      • Server块
        • Server全局块
        • location块

    注:http块中可以配置多个server块,每个server块可以配置多个location块

        server {
            listen       80;  #监听端口
            server_name  localhost; #服务器名称
            location / {  # 匹配客户端请求url
                root   html;  # 指定静态资源根目录
                index  index.html index.htm; #指定默认首页
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    
    

    五、反向代理

      server {
        listen       80;  #监听端口
        server_name  localhost; #服务器名称
        location / {  # 匹配客户端请求url
        proxy_pass http://192.168.xxx.xxx:8080;
        }
      }
    

    六、负载均衡

      upstream targetserver{  #upstream指令可以定义一组服务器
        server 192.168.xxx.xxx:8080;
        server 192.168.xxx.xxx:8081;
      }
      server {
        listen       80;  #监听端口
        server_name  localhost; #服务器名称
        location / {  # 匹配客户端请求url
        proxy_pass http://targetserver;
        }
      }
    

    Nginx负载均衡四种分配策略

    1. 轮询(默认)
      每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除掉。
    2. weight
      weight代表权重,默认为1,权重越高被分配的客户端越多。
    upstream myserver {
            server 123.56.241.139:8080 weight=5;
            server 123.56.241.139:8081 weight=10;
    }
    
    1. ip_hash
      每个请求按访问IP的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题,例如:
    upstream myserver {
            ip_hash;
            server 123.56.241.139:8080;
            server 123.56.241.139:8081;
    }
    
    1. fair(第三方)
      按后端服务器的响应时间来分配请求,响应时间短的优先分配,例如:
    upstream myserver {
            server 123.56.241.139:8080;
            server 123.56.241.139:8081;
            fair;
    }
    

    相关文章

      网友评论

          本文标题:31.Nginx

          本文链接:https://www.haomeiwen.com/subject/dsqburtx.html