美文网首页
【Nginx】配置学习

【Nginx】配置学习

作者: 前端菜篮子 | 来源:发表于2019-12-19 08:31 被阅读0次

Nginx中文文档

一、基本用法

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

image.png

2.启动nginx

有很多种方法启动nginx

  • (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
  • (2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start nginx ,回车即可

3.检查nginx是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80,回车,出现以下页面说明启动成功

image

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

image.png
  • nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可
image.png
  • 检查80端口是否被占用的命令是: netstat -ano | findstr 0.0.0.0:80netstat -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)使用taskkilltaskkill /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

每一个请求按訪问iphash结果分配

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小的后端服务器优先分配请求。如果需要使用这种调度算法,必须下载Nginxupstr_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类似,但是按照访问urlhash结果来分配请求,使得每个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; 
}

看下面的截图:

image.png

upstream参数

image.png
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;
}

下面这一节:Nginx 负载均衡演示之 upstream 参数 & location 参数

serverlocationupstream之间的关系:

image.png

nginx 动静分离演示

image.png

1.为了区分,我们在web1 中 放一张图片 images/tomcat.png

cd webapps 
//创建一个images文件夹
mkdir images   
//复制图片到images文件中
cp tomcat.png images/tomcat.png  

2.进入nginx配置,当然也可以用正则表示式的方式,这里是简单演示

image.png

其他

...

另外这里做个记录:正向代理与反向代理的区别

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

image.png

正向代理的用途:

  • 访问原来无法访问的资源,如google
  • 可以做缓存,加速访问资源
  • 对客户端访问授权,上网进行认证
  • 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息
    [图片上传中...(image.png-ebed7c-1593409333574-0)]

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

image.png

反向代理的作用

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

相关文章

网友评论

      本文标题:【Nginx】配置学习

      本文链接:https://www.haomeiwen.com/subject/lzgynctx.html