Nginx简单学习

Nginx

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的, 能经受高负
载的考验 有报告表明能支持高达 50,000 个并发连接数。主要用于四个方面的功能,正向代理,反向代理,负载均衡,动静分离。

1.原理

1.1 mater 和 worker进程

在这里插入图片描述

Ngnix内部的进程主要有两类,master 进程 和 worker 进程。其中 master 进程只有一个,worker 进程可以有多个。 worker 进程才是真正 working 的进程,才是真正处理请求的进程。worker 进程全部都是 master 进程的子进程。每多一个用户请求,master进程就fork一个worker进程。worker 进程是以普通用户的身份进行运行的,这样就可以极大增加程序的安全性。就算是万一有一个进程被劫持,那也不会有管理员权限。 、一个 master 和多个 woker 有两个好处:
(1)可以使用 nginx_s reload 热部署,利用 nginx 进行热部署操作( 在不打断用户请求的情况下更新版本
(2)每个 woker 是独立的进程,如果有其中的一个 woker 出现问题,其他 woker 独立的,继续进行争抢,实现请求过程,不会造成服务中断

1.2 要点:

1.worker 数和服务器的 cpu 数相等是最为适宜的、
2.连接数 worker_connection 发送请求,占用了 woker 的几个连接数?
答案: 2 或者 4 个(需要访问数据库等时四个,Nginx直接能处理2个)
3.nginx 有一 个 master ,有四个 woker ,每个 woker 支持最大的连接数 1024 ,支持的
最大并发数是多少?
普通的静态访问最大并发数是: worker_connections * worker_processes /2。
而如果是 HTTP 作 为反向代理来说,最大并发数量应该是 worker_connections *worker_processes/4 。

1.3Nginx常用命令

进入 nginx 目录中
cd /usr/local/ng inx/sbin
1 、查看 nginx 版本号
./nginx v
2 、启动 nginx
./nginx
3 、停止 nginx
./nginx s stop
4 、重新加载 nginx
./nginx s reload

配置文件内容

cd /usr/local/nginx/conf/nginx.conf
配置文件中的内容 包含三部分内容
1 全局块:配置服务器整体运行的配置指令
比如 worker_processes 1; 处理并发数的配置
2 events 块 :影响 Nginx 服务器与用户的网络连接
比如 worker_connections 1024; 支持的最大连接数为 1024
3 http 块
还包含两部分:
http 全局块
server 块

2.正向代理

在客户端配置代理服务器对指定网站进行访问。
国内访问外网,需要通过正向代理服务器,到达指定网站,使得用户对于互联网不可见。
在这里插入图片描述

3.反向代理

暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。使得服务器地址对于用户来说不可见

在这里插入图片描述

对地址进行反向代理

1 实现效果
打开浏览器,在浏览器地址栏输入地址 ip(不是8080端口) ,跳转到 liunx 系统 tomcat 主页
面中(8080端口)
2 准备工作
2.1 在 liunx 系统安装 tomcat 使用默认端口 8080
2.2对外开放访问的端口
firewall cmd add port=80 80 /tcp permanent
firewall cmd reload
查看已经开放的端口号
firewall cmd list all
3 在 windows 系统中通过浏览器访问 tomcat 服务器
4.location中进行配置
添加:proxy pass http:ip:8080

对端口进行反向代理

1 、实现效果
使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中
访问 http:// ip :8080/a/ 直接跳转到 127.0.0.1:808
访问 http:// ip :8080/b/ 直接跳转到 127.0.0.1:809
2 、准备工作
2.1 准备两个 tomcat 服务器,一个 8080 端口,一个 8081 端口
2.2 创建文件夹和测试页面
3 、具体配置
找到 nginx 配置文件,进行反向代理配置
location ~ /a/{proxy pass http:ip:808}
location ~ /a/{proxy pass http:ip:809}

4.负载均衡

服务器的数量数量很多,可以将众多请求分发到各个服务器上进行处理。
在这里插入图片描述

1 、实现效果
浏览器地址栏输入地址 ,
负载均衡效果,平均分配在 8080 和 8081 端口
2 、两台 tomcat 服务器,端口号分别为8080,8081
3 、在 nginx 的配置文件中进行负载均衡的配置
upstream serverst{
server ip:8080
server ip:8081
}
server模块中
location /
{
proxy_pass http://serverst;
}
4 、 nginx 分配服务器策略
第一种 轮询(默认)
每个请求按请求时间顺序逐一分配到不同的后端服务器,能自动剔除。
第二种 weight
weigh t 代表权重默认为 1, 权重越高被分配的客户端越多
第三种 ip_hash
每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器
第四种 fair (第三方
按后端服务器的响应时间来分配请求,响应时间短的优先分配。

5.动静分离

网络中的静态资源和动态资源在不同服务器上时,分别进行提取。
在这里插入图片描述

通过 location 指定不同的后缀名实现不同的请求转发。

,响应时间短的优先分配。




## 5.动静分离

网络中的静态资源和动态资源在不同服务器上时,分别进行提取。
[外链图片转存中...(img-inp4LFCB-1610625445672)]

通过 location 指定不同的后缀名实现不同的请求转发。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值