Nginx

Nginx 是一个高性能的HTTP和反向代理服务器

作用:反向代理负载均衡动静分离

正向代理和反向代理:

正向代理:访问外部服务器时依据代理服务器进行代理请求(访问外网利用VPN进行代理),即 代理客户端(隐藏客户端)

image-20230911101645043

反向代理:访问不同服务器的同一网址(大家访问的百度都是同一个域名,但是百度有很多服务器)即 代理服务器端(隐藏服务器端)

image-20230911101729513

负载均衡:

负载均衡策略分为:内置策略扩展策略 两种,前者有 轮询,加权轮询 和 lp hash,后者自定义

轮询:按顺序一个个分,分到了就排最后让下一个分

加权轮询:利用加权使性能更好的服务器能处理更多请求

ip hash:通过ip运算,使得固定ip只会打到固定服务器上,避免堕胎服务器上有相同的session信息(但是一旦挂了就会丢数据)

动静分离:

将项目中不需要经过后台处理的(如css,html,js等文件)静态文件与动态文件做拆分,将静态文件做缓存操作,提高响应速度

常用命令

在Nginx的sbin目录下

./nginx		启动
./nginx -s stop		停止
./nginx -s quit		安全退出
./nginx -s reload 	重新加载配置文件
ps aux|grep nginx	查看nginx进程

实际使用-配置文件

#全局配置

events {
    worker_connections 1024;
}

http {
    http 配置
    
    upstream xx {
        //负载均衡配置
    }
    
    server {
        listen 80;
        server_name localhost;
        // 代理
        location / {
            // xxx  192.168.xxx
        }
        location /admin {
            // xxx  43.xx
        }
    }
    server {
        listen 443;
        server_name localhost;
        // 代理
    }
}
# 负载均衡和反向代理的部分代码
...
upstream mynatwork {
    server 127.0.0.1:8080 weight=1;
    server 127.0.0.1:8081 weight=3;
}

server {
    listen	80;
    server_name localhost;
    
    location / {
        root html;
        index index.html index.htm;
        proxy_pass http://mynatwork;
    }
    ...
}
...