【总结】nginx基础

一.nginx简介

1.什么是nginx?

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,支持高达 50,000 个并发连接数。功能:反向代理,负载均衡,动静分离

2.反向代理

代理的是服务端,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定

3.正向代理

代理的是客户端,比如vpn,我们访问不了外网地址,就用代理我们的服务器,然后通过正向代理向目的服务器发起请求,之后就可以访问到目的服务器了

4.负载均衡

请求分发到多个服务器上,将负载分发到不同的服务器,这就是所说的负载均衡

5.动静分离

可以将一些css,js,img ,html 等一些静态资源没必要去让tomcat 去加载,好处是减少tomcat压力,提高响应速度,让tomcat只去处理跟数据库打交道的请求

二.nginx配置文件

将 nginx.conf 配置文件分为三部分:

1.全局块

从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令

#工作进程数,默认1,可设置为cpu核心数
worker_processes  number | auto; 
#配置Nginx进程的PID存放路径(启动nginx 时自动生成的 里面存放的是当前 nginx 住进程的ID 号) 
pid file;
#配置全局错误日志的存放路径
error_log file | stderr [level];

2.events块

events 块涉及的指令主要影响 Nginx 服务器与用户的网络连接

#单个工作进程可以允许同时建立外部连接的数量(一般1024,最大10w)
worker_connections

3.http全局块

包括 http 全局块、server 块
http全局块设置超时时间,单链接请求数上限等
server块相当于一个虚拟主机。包括全局server块和location块

http {
      #设定mime类型,类型由mime.type文件定义
      include    mime.types;
      #默认文件类型
      default_type application/octet-stream; 

      #设定日志格式(自定义)
      log_format ownformat '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" "$http_x_forwarded_for"';
      access_log  /home/nginx/log/http_access.log ownformat;
                   
      keepalive_timeout 120; 		#长连接超时时间,单位是秒
      send_timeout 30;			#指定客户端的响应超时时间
	
      upstream myserver{                #负载均衡配置
         server 127.0.0.1:8081 weight=1;
         server 127.0.0.1:8082 weight=1;
      }
      server {
        listen 80;			#描述虚拟主机接受连接的地址和端口
        server_name localhost;          #内网:主机名,外网:域名 可以是多个域名,用空格隔开
        index index.html index.htm index.jsp;         #默认访问主页
	root /nginx/www/webapps; 	              #主目录
        
        location / {			
          proxy_pass http://myserver            #配置负载均衡
        }
        location ~/edu/ {			#正则 路径包含edu 转发到8001端口
          proxy_pass 127.0.0.1:8001     
        }
        # 动静分离配置
        location /image/ {
            proxy_set_header Host $host;
            proxy_pass http://stack_pools;
        }
        location /dynamic/ {
            proxy_set_header Host $host;
            proxy_pass http://dynamic_pools;
        }

     }
}

三. 负载均衡策略

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}

2、指定权重

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 192.168.0.14 weight=8;
server 192.168.0.15 weight=10;
}

3、IP绑定 ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14 weight=8;
server 192.168.0.15 weight=10;
}

4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server server1;
server server2;
fair;
}

posted @ 2020-08-02 15:33  mu_阿成  阅读(83)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css