一、基本用法
1.下载nginx
http://nginx.org/en/download.html ,下载稳定版本即可。下载后解压,解压后如下

2.启动nginx
有很多种方法启动nginx
:
- (1)直接双击
nginx.exe
,双击后一个黑色的弹窗一闪而过 - (2)打开
cmd
命令窗口,切换到nginx
解压目录下,输入命令nginx.exe
或者start nginx
,回车即可
3.检查nginx
是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80
,回车,出现以下页面说明启动成功

也可以在cmd
命令窗口输入命令 tasklist /fi "imagename eq nginx.exe"
,出现如下结果说明启动成功

-
nginx
的配置文件是conf
目录下的nginx.conf
,默认配置的nginx
监听的端口为80
,如果80
端口被占用可以修改为未被占用的端口即可

- 检查
80
端口是否被占用的命令是:netstat -ano | findstr 0.0.0.0:80
或netstat -ano | findstr "80"
- 当我们修改了
nginx
的配置文件nginx.conf
时,不需要关闭nginx
后重新启动,只需要执行命令nginx -s reload
即可让改动生效
4.关闭nginx
如果使用cmd
命令窗口启动nginx
,关闭cmd
窗口是不能结束nginx
进程的,可使用两种方法关闭nginx
- (1)输入命令
nginx -s stop
(快速停止) 或nginx -s quit
(完整有序的停止) - (2)使用
taskkill
:taskkill /f /t /im nginx.exe
二、负载均衡之 upstream
配置在http 下
方式1: 轮询
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
** 方式2: 权重轮询**
upstream xxx_server_name{
server 192.168.10.1:80 weight=1;
server 192.168.10.2:80 weight=2;
server 192.168.10.3:80 weight=3;
}
方式3: ip_hash
每一个请求按訪问ip
的hash
结果分配
upstream xxx_server_name{
ip_hash;
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
}
方式4: 按后端服务器的响应时间来分配请求。响应时间短的优先分配
fair
(第三方), 顾名思义,公平地按照后端服务器的响应时间(rt
)来分配请求,响应时间短即rt
小的后端服务器优先分配请求。如果需要使用这种调度算法,必须下载Nginx
的upstr_fair
模块。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
fair;
}
方式5:url_hash
目前用consistent_hash
替代url_hash
,与ip_hash
类似,但是按照访问url
的hash
结果来分配请求,使得每个url
定向到同一个后端服务器,主要应用于后端服务器为缓存时的场景下。
upstream xxx_server_name{
server 192.168.10.1:80;
server 192.168.10.2:80;
server 192.168.10.3:80;
hash $request_uri;
hash_method crc32;
}
使用方式
将server
节点下的location
节点中的proxy_pass
配置为:http:// <upstream>
,即http://xxx_server_name
。示例:
location / {
root html;
index index.html index.htm;
proxy_pass http://xxx_server_name;
}
看下面的截图:

upstream参数

upstream xxx_server_name {
server 127.0.0.1:8050 weight=1 max_fails=1 fail_timeout=20;
server 127.0.0.1:8060 weight=1;
}
① server
、location
、upstream
之间的关系:

② nginx
动静分离演示

1.为了区分,我们在web1 中 放一张图片 images/tomcat.png
cd webapps
//创建一个images文件夹
mkdir images
//复制图片到images文件中
cp tomcat.png images/tomcat.png
2.进入nginx
配置,当然也可以用正则表示式的方式,这里是简单演示

其他
...
另外这里做个记录:正向代理与反向代理的区别
正向代理类似一个跳板机,代理访问外部资源。比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了

正向代理的用途:
- 访问原来无法访问的资源,如google
- 可以做缓存,加速访问资源
- 对客户端访问授权,上网进行认证
- 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
[图片上传中...(image.png-ebed7c-1593409333574-0)]
反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

反向代理的作用
- 保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网
- 负载均衡,通过反向代理服务器来优化网站的负载

网友评论