nginx
正向代理:用户通过代理服务器直接访问Internet,叫做正向代理。
反向代理:用户将请求发送给代理服务器,代理服务器根据请求将请求转发到Internet中,得到请求后再返回给用户。
负载均衡:通过反向代理服务器将请求分发到多个服务器中。
动静分离:前后端分离。
nginx常用命令
#查看nginx版本号
nginx -v
#关闭nginx
nginx -s stop
#启动nginx
nginx
#重新加载nginx
nginx -s reload
nginx配置文件
nginx配置文件由三部分组成
第一部分:全局块
从配置文件开始到events块之间的内容,主要会设置一些影响nginx服务器整体运行配置指令
#此值越大,nginx处理并发的能力越强(会受到硬件的限制)
work_processes 1;
第二部分:events块
影响nginx服务器与用户网络的连接
#支持的最大连接数
worker_connections 1024;
第三部分:http块(包括server块和全局块)
包括文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等
server块
#监听端口
listen 80
#请求跳转
location / {
root html;
index.html index.htm;
}
nginx配置反向代理
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
#配置反向代理的位置
proxy_pass http://127.0.0.1:8080;
index index.html index.htm;
}
}
server {
listen 80;
server_name 127.0.0.1;
location ~ /login/ {
#配置反向代理的位置
proxy_pass http://127.0.0.1:8080;
}
location ~ /regist/ {
#配置反向代理的位置
proxy_pass http://127.0.0.1:8081;
}
}
nginx 配置负载均衡
upstream myserver{
server [ip]:[port];
server [ip]:[port];
}
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
#配置反向代理的位置
proxy_pass http://myserver;
index index.html index.htm;
}
}
负载均衡策略
1、轮询(默认)
按时间顺序逐一分配到不同的后端服务器,后端服务器down调,能自动剔除
2、权重
weight,权重越高,分配越多
upstream myserver{
server [ip]:[port] weight=5;
server [ip]:[port] weight=10;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
#配置反向代理的位置
proxy_pass http://myserver;
index index.html index.htm;
}
}
3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
upstream myserver{
ip_hash;
server [ip]:[port];
server [ip]:[port];
}
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
#配置反向代理的位置
proxy_pass http://myserver;
index index.html index.htm;
}
}
4、fair(第三方)
按后端服务器的响应时间来分配,响应时间越短就优先分配
upstream myserver{
server [ip]:[port];
server [ip]:[port];
fair;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
root html;
#配置反向代理的位置
proxy_pass http://myserver;
index index.html index.htm;
}
}