ngnix学习笔记

nginx的学习笔记

一、nginx指令

1
2
3
4
5
6
7
8
# 启动nginx
start nginx.exe
# 停止
nginx.exe -s stop
# 重新加载配置
nginx.exe -s reload
# 重启
nginx.exe -s restart

二、nginx反向代理

1、概念

何为反向代理

先了解何为代理

代理相当于中间商,中介。B是代理。如果A要和C联系,那么A先和B代理联系,B再和C联系,这样A就间接和C联系了。

正向代理:

​ 客户端代理,目标服务器不知道客户端的地址,只知道代理服务器的地址。

反向代理:

​ 由服务端代理。客户端并不知道目标服务器的具体地址。只知道代理服务器的地址。

2、反向代理

打开下载的nginx的nginx.conf文件。

1
2
3
4
5
6
7
8
9
server{
listen 80; #监听80端口
server_name localhost; #监听请求地址

location /api/{
#转发到的地址
proxy_pass http://localhost:8080/admin/; #反向代理
}
}

3、负载均衡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#upstream指令配置后端服务器组。webservers名称可自定义。但是要上下一致
upstream webservers{
server 192.168.100.128:8080;
server 192.168.100.129:8080;
}

server{
listen 80;
server_name localhost;

location /api/{
proxy_pass http://webservers/admin;#负载均衡
}
}

nginx 负载均衡策略:

名称 说明
轮询 默认方式
weight 权重方式,默认为1,权重越高,被分配的客户端请求就越多
ip_hash 依据ip分配方式,这样每个访客可以固定访问一个后端服务
least_conn 依据最少连接方式,把请求优先分配给连接数少的后端服务
url_hash 依据url分配方式,这样相同的url会被分配到同一个后端服务
fair 依据响应时间方式,响应时间短的服务将会被优先分配

用法自查,例如:

1
2
3
4
upstream webservers{
server 192.168.100.128:8080 weight=90;
server 192.168.100.129:8080 weight=10;
}

三、关闭nginx

一般我们使用

1
2
3
nginx -s quit

nginx -s stop

但是nginx太难关闭了

强行关闭nginx

1
taskkill /f /t /im nginx.exe

或者

找到所有关于80端口的进程

1
netstat -ano|findstr "80"

列出进程的任务

1
tasklist|findstr "28976"

杀死进程

1
taskkill /pid 28976 /f