Nginx入门

背景介绍

1.正向代理

        正向代理类似一个跳板,代理访问服务器资源,比如我们想访问一个资源,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服务器,代理服务器能够访问资源,这样由代理去资源服务器取到返回数据,再返回给我们,这样我们就能访问资源了, 正向代理服务器一般都是客户端代理,代理客户端执行业务

 

 2.反向代理

        反向代理服务器位于用户与目标服务器之间,对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。反向代理服务器一般都是服务器端代理.用户无需关心真实的服务器是谁.

Nginx简介

        Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东新浪网易腾讯淘宝等。

Nginx 内置了轮询和加权轮询来达到负载均衡的目的

Nginx 还有一个很牛的功能是动静分离

在我们的软件开发中,有些请求是需要后台处理的;有些请求是不需要后台处理的,比如说 css、js 这些文件请求,这些不需要经过后台处理的文件就叫静态文件。

我们可以根据一些规则,把动态资源和静态资源分开,然后通过 Nginx 把请求分开,静态资源的请求就不需要经过 Web 服务器处理了,从而提高整体上的资源的响应速度。

Nginx 配置

Nginx 配置结构图

main        # 全局配置
├── events  # 配置网络连接
├── http    # 配置代理、缓存、日志等
│   ├── upstream # 配置负载均衡
│   ├── server   # 配置虚拟主机,可以有多个 server
│   ├── server
│   │   ├── location  # 用于匹配 URI(URL 是 URI 的一种),可以有多个 location
│   │   ├── location
│   │   └── ...
│   └── ...
└── ...

Nginx 默认配置

worker_processes  1; # Nginx 进程数,一般设置为和 CPU 核数一样

events {
    worker_connections  1024; # 每个进程允许最大并发数
}

http {
    include       mime.types; # 文件扩展名与类型映射表
    default_type  application/octet-stream;

    sendfile        on; # 开启高效传输模式
    keepalive_timeout  65; # 保持连接的时间,也叫超时时间,单位秒

    server {
        listen       8080; # 配置监听的端口
        server_name  localhost; # 配置的域名

        location / {
            root   html; # 网站根目录
            index  index.html index.htm; # 默认首页文件
        }

        error_page   500 502 503 504  /50x.html; # 默认50x对应的访问页面
        location = /50x.html {
            root   html;
        }
    }

    include servers/*; # 加载子配置项
}

配置关键字分析

关键字:

  1. events    可以配置nginx 的环境

  2. http    请求协议. nginx 可以接收http请求规则, 协议有且只有一份.

  3. server    一个反向代理服务,就是一个server

  4. listen   nginx中一般的监听端口号:80

  5. server_name    nginx拦截URL中的哪个请求.

  6. location   拦截服务之后,开始反向代理配置的核心关键字

  7. /   需要拦截的请求的路径 /拦截根目录 /images 拦截images请求路径.

  8. root   root代表反向代理的是一个文件夹

  9. index   反向代理时 默认加载的页面.

代理图片(例)

请求地址: http://image.too.com/2021/11/16/40a7728d61bf4c0bb2c75766d0a0f99f.jpg

磁盘地址: E:/src/images/2021/11/16/40a7728d61bf4c0bb2c75766d0a0f99f.jpg

代理规则: http://image.too.com 代理到 E:/src/images

#配置图片代理  写完之后记得保存 ctrl+s
	server {
		listen 80;
		server_name image.too.com; #或直接代理localhost地址 不需要修改hosts文件
		location / {
			root E:/src/images;
		}
	}

代理后需要修改hosts文件

本地位置:位置: C:\Windows\System32\drivers\etc

#图片服务器
127.0.0.1 	image.too.com

前后端代理(例)

#配置后端服务器
    server {
		listen 80;
		server_name manage.too.com;

		location /url {
			#表示映射远程链接
			#proxy_pass http://localhost:8091/url;
			proxy_pass http://toos;     #采用的集群方式  toos集群名称
		}
    }
    #集群配置  负载均衡策略  1默认 轮询  2权重  3.iphash

    #定义tomcat服务器集群
    #ip_hash 指负载均衡采用 iphash 的策略
    #weight=1 指 负载均衡采用 权重 的策略
    ###如果两个都不加 默认就是 轮询 的方式

    #max_fails=1 指定最大的失败的次数 规定最大的失败次数1
    #fail_timeout=60s; 如果失败的次数达到最大失败次数60s内, nginx不会再次访问故障机.
	upstream toos {
		#ip_hash;  weight=6
		server  localhost:8091 weight=6; max_fails=1 fail_timeout=60s;
		server  localhost:8092 weight=6; max_fails=1 fail_timeout=60s;
		server  localhost:8093 weight=6; max_fails=1 fail_timeout=60s;
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值