Nginx学习笔记

1、Nginx简介

高性能的http和反向代理的web服务器,特点是内存少,并发性能强

正向代理:通过代理服务器访问服务器
反向代理:服务器数据返回给客户端
动静分离:动态页面(tomcat jsp、servlet),静态资源html、css

2、核心内容

2.1 常用命令

查看nginx进程:
ps -ef |grep nginx

2.2 核心配置

配置文件地址:/usr/local/nginx/conf/nginx.conf
内容:

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

有三个模块:

  • 全局配置:可以设置PID存放路径、日志地址、worker_processes数量等
  • events:nginx服务与用户网络连接的常用设置,worker_connections是支持同时连接的格式
  • http模块(代理、缓存、第三方模块配置):

2.3 server模块

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
	upstream myserver {
        server 208.208.128.122:8081;
        server 208.208.128.122:8082;
    }
    
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

2.3.1 配置多个服务器及负载均衡策略

在upstream可以配置多个服务器,有4中负载均衡策略:
1、默认轮询
2、权重

upstream myserver {
        server 208.208.128.122:8081 weight=10;   #  在这儿
        server 208.208.128.122:8082 weight=10;
    }

3、ip_hash 根据ip地址hash分配,访客会固定访问一台后端服务

upstream myserver {
    	ip_hash;							//  在这儿
        server 208.208.128.122:8081 ;   
        server 208.208.128.122:8082 ;
    }

4、fair:按照服务器响应时间分配,及时响应优先分配:

upstream myserver {					
        server 208.208.128.122:8081 ;   
        server 208.208.128.122:8082 ;
        fair; 														#  在这儿
    }

2.3.2 监听部分

server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

转发顺序:
1、hosts设置转发到nginx服务器:位置C:\Windows\System32\drivers\etc,后面转发到前面
2、server,listen设置监听端口
3、根据正则匹配location,转发到proxy_pass地址

2.3.3 正则匹配方式

  • 1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。
  • 2、~:用于表示 uri 包含正则表达式,并且区分大小写。
  • 3、~*:用于表示 uri 包含正则表达式,并且不区分大小写。
  • 4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字 符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location 块中的正则 uri 和请求字符串做匹配。

你可能感兴趣的:(后端开发,nginx,学习,服务器)