Nginx-基本概念和使用

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: Nginx-基本概念和使用

Nginx-基本概念和使用

(engine x)是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强。

Nginx可以做反向代理,实现负载均衡;

正向代理

在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。代理对象是客户端,不知道服务端是谁。

客户端不需要任何配置就能访问,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器,获取数据后再返回给客户端。对外就一个服务器,暴露的是反向代理服务器地址,隐藏了真实服务器IP地址。代理对象是服务端,不知道客户端是谁。

负载均衡

客户端发送多个请求到服务器,服务器处理请求,有些可能要访问数据库,服务器处理完毕后再将结果返回客户端。

master接收信号后将任务分配给worker进行执行,worker可有多个。

每个 woker 是独立的进程,可以使用 nginx –s reload 热部署。

mac 安装nginx

brew install nginx

启动nginx

brew services start nginx

安装目录 /usr/local/Cellar/nginx

配置目录 /usr/local/etc/nginx 配置文件nginx.conf

nginx.conf配置文件内include servers/*; 指定了servers目录下的所有配置文件

静态页面

配置了nginx页面 服务地址localhost:8080 指向静态文件

root目录 指向安装目录/usr/local/Cellar/nginx下的html文件夹,html文件是一个软连接 指向html -> ../../../var/www 即 /usr/local/var/www目录,首页指向index.html index.htm

server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        
    }

此种方式可以配置前后端分离的前端静态页面,root 指向将vue打包好的静态文件即可。

代理服务

server {
        listen       80;
        server_name  admin.binlive.cn;
        location /{
            proxy_pass http://127.0.0.1:8080;
            proxy_set_header  Host              $http_host;   
            proxy_set_header  X-Real-IP         $remote_addr; # pass on real client's IP
            proxy_set_header  X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header  X-Forwarded-Proto $scheme;
            proxy_read_timeout                  900;
        }
        
    } 

负载均衡

访问域名www.domain.com 反向代理到 myproject,upstream指定了负载均衡的机器,weight指定权重

http {
  upstream myproject {
  server 127.0.0.1:8000 weight=3;
  server 127.0.0.1:8001;
  server 127.0.0.1:8002;
  server 127.0.0.1:8003;
  }

  server {
  listen 80;
  server_name www.domain.com;
  location / {
  proxy_pass http://myproject;
  }
  }
}

nginx -t 检测配置文件是否正确

nginx -s reload 重新加载配置文件

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
25天前
|
前端开发 应用服务中间件 nginx
Nginx入门 -- 理解 Nginx 的基本概念:Pipe 和 Lingering Close
Nginx入门 -- 理解 Nginx 的基本概念:Pipe 和 Lingering Close
48 0
|
25天前
|
应用服务中间件 测试技术 nginx
Nginx入门 -- 解析Nginx中的基本概念:Keepalive
Nginx入门 -- 解析Nginx中的基本概念:Keepalive
69 0
|
前端开发 JavaScript 应用服务中间件
Nginx的基本操作
Nginx的基本操作
|
弹性计算 负载均衡 网络协议
【官方文档】Nginx负载均衡学习笔记(二)负载均衡基本概念介绍
简介 负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台 ECS 的流量分发控制服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
7351 1
|
应用服务中间件 API nginx
Kong03-Nginx、OpenResty、Kong 的基本概念和区别联系
Nginx、OpenResty、Kong 的基本概念和区别联系 Nginx、OpenRestry、Kong 这三个项目关系比较紧密: Nginx 是模块化设计的反向代理软件,C语言开发; OpenResty 是以 Nginx 为核心的 Web 开发平台,可以解析执行 Lua 脚本 Kong 是 OpenResty 的一个应用,是一个 API 网关,具有API管理和请求代理的功能。
8075 0
|
Web App开发 存储 应用服务中间件
|
应用服务中间件 nginx
|
Web App开发 缓存 监控
|
监控 测试技术 应用服务中间件
|
应用服务中间件 nginx