当前位置: 首页 > news >正文

2024-6-14(沉默Nginx)

1.正向代理和反向代理

正向代理:浏览器是无法直接访问谷歌的,但香港的代理服务器是可以访问谷歌的,于是访问了香港的代理服务器,也就间接地访问了谷歌。那这台代理服务器也就是正向代理。总结一句就是,正向代理是代理客户端的,让你能正常访问目的服务器。

反向代理:与之相反,反向代理是代理服务器的,让大量的请求均衡地访问到某一台服务器上。例如,有10w个请求访问百度,但是如果全部压到一台服务器上,可能导致把服务器压垮,这个时候,反向代理就是均衡的让这10w个请求分散到不同服务器上,这就是反向代理。

Nginx 内置了轮询和加权轮询来达到负载均衡的目的。服务器 A 牛逼就把它的权重加大一点,让 5 万个请求访问它;服务器 B 弱一点,权重就再小一点,让 2 万个请求访问它;服务器 C 更弱,权重就最小,让 1 万个请求访问它。

2.Nginx的动静分离

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

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

3.Nginx的reload

Nginx一般启动了就不需要退出,使用最多的命令就是reload,例如修改了nginx的配置文件,这个时候就需要reload命令重启,并且,reload命令对用户是无感的,也就是用户感知不到任何变化,依然可以正常访问网页,这一点很强大。

4.Nginx的配置

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

配置文件默认配置:

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/*; # 加载子配置项
}

5.HTTP调用框架Forest

 Java 生态中的 HTTP 组件库,大致可以分为三类: 

  • JDK 自带的 HttpURLConnection 标准库;
  • Apache HttpComponents HttpClient;
  • OkHttp。

使用标准库的最大好处就是不需要引入额外的依赖,但使用起来比较繁琐,就像直接使用 JDBC 连接数据库那样,需要很多模板代码。

 

相关文章:

  • 30.保存游戏配置到文件
  • 【数据结构与算法 刷题系列】判断链表是否有环(图文详解)
  • ripro主题如何使用memcached来加速
  • 【多线程实例】
  • Google Earth Engine(GEE)——计算闪闪红星的ndvi的值和直方图(时序分析)
  • 12.1 Go 测试的概念
  • 游戏心理学Day17
  • 区间预测 | Matlab实现EVO-CNN-SVM能量谷算法优化卷积神经网络支持向量机结合核密度估计多置信区间多变量回归区间预测
  • SpringBootWeb 篇-入门了解 Apache POI 使用方法
  • Docker配置代理
  • 【C语言】排序算法 -------- 计数排序
  • 课时158:脚本发布_简单脚本_远程执行
  • 线程相关的基本方法
  • 什么是内存泄漏?如何避免?
  • Android --- 异步操作
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 「面试题」如何实现一个圣杯布局?
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Github访问慢解决办法
  • laravel5.5 视图共享数据
  • leetcode98. Validate Binary Search Tree
  • Linux中的硬链接与软链接
  • PAT A1050
  • rabbitmq延迟消息示例
  • Sublime Text 2/3 绑定Eclipse快捷键
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 坑!为什么View.startAnimation不起作用?
  • 前端临床手札——文件上传
  • 无服务器化是企业 IT 架构的未来吗?
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 阿里云服务器购买完整流程
  • 如何正确理解,内页权重高于首页?
  • 数据可视化之下发图实践
  • # centos7下FFmpeg环境部署记录
  • #《AI中文版》V3 第 1 章 概述
  • #Z0458. 树的中心2
  • (007)XHTML文档之标题——h1~h6
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (175)FPGA门控时钟技术
  • (2)(2.10) LTM telemetry
  • (4.10~4.16)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (python)数据结构---字典
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (接口封装)
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一) storm的集群安装与配置
  • ..回顾17,展望18
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net CF下精确的计时器
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .NET Windows:删除文件夹后立即判断,有可能依然存在