wendows 版本 Nginx入门了解
- wendows 环境
- 工具 Nginx idea
- 第一先下载Nginx :nginx/Windows-1.19.3 pgp
- 下载安装后,双击nginx.exe 会防火墙提示,点击允许访问就可以了
- conf文件夹中的,nginx.conf为配置文件,logs为日志文件夹
- 解释一下Nginx的作用
- Nginx是一个开源的Web服务器,同时Nginx也提供了反向代理和负载均衡的功能。
Nginx通常作为负载均衡器暴露在外网接受用户请求,同时也使用其反向代理的功能,将用户的请求转发到实际提供服务的内网服务器 - 假如600同时访问我一个Book项目,但是我的项目最大的承受300人访问项目,那么项目肯定会炸
那么Nginx诞生了,Nginx作为一个中介,它代理了我的Book项目,600人不让他们直接访问我的Book项目,让他们访问Nginx,nginx负载均衡,平均的把人分给了我的两个项目,
反向代理
默认配置是查找nginx目录下的html,可以删掉也可以不删。
/ 斜杠指的是,所有的流量都要经过这里
这个是初始配置!
location / {
root html;
index index.html index.htm;
}
在Nginx当前文件夹,使用cmd小黑窗启动
命令
cmd 进入Nginx解压目录 执行以下命令
start nginx : 启动nginx服务
nginx -s reload :修改配置后重新加载生效
nginx -s reopen :重新打开日志文件
nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确
---------------------
验证配置是否正确: nginx -t
查看Nginx的版本号:nginx -V
启动Nginx:start nginx
快速停止或关闭Nginx:nginx -s stop
正常停止或关闭Nginx:nginx -s quit
配置文件修改重装载命令:nginx -s reload
启动后 浏览器访问 localhost 浏览器出来这个就是好的
如果启动启动失败,可能端口号被占用了,更换端口号在试试尚否
配置文件说明
Nginx所有配置文件都在Nginx根目录conf子目录中(E:\tools\nginx\nginx-1.15.2\conf)
Nginx核心配置文件(E:\tools\nginx\nginx-1.15.2\conf\nginx.conf)
我们的常用配置只需要在nginx.conf中调整server节点就可以了
在nginx.conf文件末尾有如下示例
配置负载均衡
upstream tomcat 要在server上面
upstream tomcat {
ip_hash;
server 192.168.137.1:8080 weight=5 ;
server 192.168.137.1:8081 weight=5 ;
location / {
proxy_pass http://tomcat;
}
负载均衡配置示例
1、轮询(默认)
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
2、指定权重
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
3、IP绑定 ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backserver {
server server1;
server server2;
fair;
}
5、url_hash(第三方)
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
在需要使用负载均衡的server中增加
proxy_pass http://backserver/;
upstream backserver{
ip_hash;
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载)
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大)
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器)
}
max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
fail_timeout:max_fails次失败后,暂停的时间