nginx简单理解

1. nginx的作用

  • 1.1 反向代理
* nginx作为代理服务器接受intenet上的连接请求
* 将请求转发到内部的应用服务器上
* 将应用服务器上得到的结果返回给Internet上请求链接的客户端

server {
  listen       80;                                                         
  server_name  localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://localhost:8080;
    proxy_set_header Host $host:$server_port;
  }
}
  • 1.2 负载均衡
* 负载均衡即将请求分摊到多个操作单元上,一般与反向代理一同配置。
* nginx支持自带的3种负载均衡策略

1.2.1.RR(默认)

概述:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down机能自动剔除

例如:
upstream test {
        server localhost:8080;
        server localhost:8081;
}
server {
  listen       81;                                                         
  server_name  localhost;                                               
  client_max_body_size 1024M;

  location / {
    proxy_pass http://test;
    proxy_set_header Host $host:$server_port;
  }
} 

1.2.2.权重

概述:指定轮询机率,wight和访问比率成正比;适用于后端服务器性能不均的情况。

例如:
upstream test {
        server localhost:8080 weight=9;
        server localhost:8081 weight=1;
}

1.2.3.ip_hash

概述:
    ip_hash的请求按IP的hash值分配,可以保证客户端IP不变的情况下始终访问一个固定
的后端服务器。可以解决有状态服务用户多次请求重新登录的问题,无状态服务不存在该问题

例如:
upstream test{
    ip_hash;
    server localhsot:8080;
    server localhsot:8081;
}
  • 1.3 http服务器
作为静态资源服务器。

server {
        listen       80;                                                         
        server_name  localhost;                                               
        client_max_body_size 1024M;

        location / {
               root   e:\wwwroot;
               index  index.html;
        }
}

2. nginx配置

  • nginx的配置文件
  • event {} 为连接配置模块
  • http {} 为nginx http核心配置模块
  • serve {} 为虚拟主机配置模块,包括端口和域名的监听
  • location {} 为URI匹配模块
  • upstream {} 为负载均衡配置模块

location匹配规则:

表示描述
location = /uri地址=开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri地址^~ 开头对URL路径进行前缀匹配,并且在正则之前。
location ~ 正则表达式~开头表示区分大小写的正则匹配。
location ~* 正则表达式~*开头表示不区分大小写的正则匹配。
location /uri地址不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location /通用匹配,拦截所有,但是优先级最低,只有前面都没有被拦截的情况下,才会被拦截到这里。
#指定工作进程数(一般设置为cpu的核数)
worker_processes  1;   

events{
    #指定每个工作进程的最大连接数
    worker_connections  1024;
}


http{
    # 配置负载的ip或域名、负载方式 
    upstream test{
        server localhsot:8080;
        server localhsot:8081;
    }
    
    server{
        liten 80;
        server_name localhost;
        
        location / {
        proxy_pass http://test;
        proxy_set_header Host $host:$server_port;
        }
        
    }
}

3.热部署

情景:
    当我们修改了nginx的配置文件后不需要杀死进程重新启动,通过以下命令实现快速
启动:在nginx的bin目录下执行:nginx -s reload

4.日志查看

  • 日志文件路径:/usr/local/openresty/nginx/logs (取决于自己实际安装的位置)
  • 我们需要在nginx.conf文件中定义日志路径
access.log:连接日志
error.log:错误日志
nginx.pid:记录进程的pid

在这里插入图片描述

  • 通过tail -f 查看日志文件:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值