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 连接数据库那样,需要很多模板代码。

 

相关推荐

  1. 2024-6-14(沉默Nginx)

    2024-06-19 05:36:04       40 阅读
  2. nginx学习--2023-12-18

    2024-06-19 05:36:04       50 阅读
  3. 2024 6.10~6.16 周报

    2024-06-19 05:36:04       37 阅读
  4. 2024.6.11

    2024-06-19 05:36:04       28 阅读
  5. 2024.6.12总结

    2024-06-19 05:36:04       31 阅读
  6. 2024.6.15

    2024-06-19 05:36:04       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-19 05:36:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-19 05:36:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-19 05:36:04       82 阅读
  4. Python语言-面向对象

    2024-06-19 05:36:04       91 阅读

热门阅读

  1. 嵌入式中间件_2.嵌入式中间件的分类

    2024-06-19 05:36:04       33 阅读
  2. 力扣207题“课程表”

    2024-06-19 05:36:04       25 阅读
  3. 个人关于Vue2组成的见解

    2024-06-19 05:36:04       33 阅读
  4. 向大家推荐一个好用的云服务器

    2024-06-19 05:36:04       34 阅读
  5. 汇编语言实验五、子程序和宏

    2024-06-19 05:36:04       33 阅读
  6. 【做一道算一道】零钱兑换

    2024-06-19 05:36:04       59 阅读
  7. 音频流采样器类的实现【6】

    2024-06-19 05:36:04       35 阅读
  8. Shellcode详解

    2024-06-19 05:36:04       56 阅读
  9. 在JPA项目启动时新增MySQL字段

    2024-06-19 05:36:04       30 阅读
  10. 访问者模式

    2024-06-19 05:36:04       36 阅读