• JAVA开发(nginx)


     主要描述下面4个内容:

    1.Nginx的正向代理和反向代理

    2.Nginx的动静分离

    3.Nginx的负载均衡

    4.Nginx的配置详解

    解释:

    Nginx的正向代理:代理的是客户端。

    Nginx的反向代理:代理的是服务端。在web服务中,一般都是反向代理,用一个nginx代理服务的统一入口。

    将静态资源和动态资源放在不同的URL

     

    将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。

    1. server {
    2. listen 80; #监听端口
    3. server_name localhost; #服务器名称
    4. location / { #匹配客户端请求url
    5. root html; #指定静态资源根目录
    6. index index.html; #指定默认首页
    7. }
    8. }

    将动态资源指向后端服务接口。

    3.Nginx负载均衡:
    Nginx给出来三种关于负载均衡的方式:
    轮询法(默认方法):
    每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
    适合服务器配置相当,无状态且短平快的服务使用。也适用于图片服务器集群和纯静态页面服务器集群。
    weight权重模式(加权轮询):
    指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的
    情况。
    这种方式比较灵活,当后端服务器性能存在差异的时候,通过配置权重,可以让服务器的性能得到充分发挥,有效利用资源。weight和访问比率成正比,用于后端服务器性能不均的情况。权重越高,在被访问的概率越大
    ip_hash:
    上述方式存在一个问题就是说,在负载均衡系统中,假如用户在某台服务器上登录了,那么该用户第二次请求的时候,因为我们是负载均衡系统,每次请求都会重新定位到服务器集群中的某一个,那么已经登录某一个服务器的用户再重新定位到另一个服务器,其登录信息将会丢失,这样显然是不妥的。
    我们可以采用ip_hash指令解决这个问题,如果客户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。

    4.Nginx配置详解:

    1. [root@chensiqi conf]# egrep -v "#|^$" nginx.conf #去掉包含#号和空行的内容
    2. worker_processes 1; #worker进程的数量
    3. error_log logs/error.log; #错误日志(默认没开)
    4. pid logs/nginx.pid; #进程号(默认没开)
    5. events { #事件区块开始
    6. worker_connections 1024; #每个worker进程支持的最大连接数
    7. } #事件区块结束
    8. http { #http区块开始
    9. include mime.types; #Nginx支持的媒体类型库文件包含
    10. default_type application/octet-stream; #默认的媒体类型
    11. sendfile on; #开启高效传输模式
    12. keepalive_timeout 65; #连接超时。
    13. server { #网站配置区域(第一个server第一个虚拟主机站点)
    14. listen 80; #提供服务的端口,默认80
    15. server_name www.chensiqi.org; #提供服务的域名主机名
    16. location / { #第一个Location区块开始
    17. root html; #站点的根目录(相对于nginx安装路径)
    18. index index.html index.htm; #默认的首页文件,多个用空格分开
    19. }
    20. error_page 500 502 503 504 /50x.html; #出现对应的http状态码时,使用50x.html回应客户
    21. location = /50x.html { #Location区块开始,访问50x.html
    22. root html; #指定对应的站点目录为html
    23. }
    24. }
    25. server { #网站配置区域(第二个server第二个虚拟主机站点)
    26. listen 80; #提供服务的端口,默认80
    27. server_name bbs.chensiqi.org; #提供服务的域名主机名
    28. location / { #服务区块
    29. root html; #相对路径(nginx安装路径)
    30. index index.html index.htm;
    31. }
    32. location = /50x.html { #发生错误访问的页面
    33. root html;
    34. }
    35. }
    36. }


     

  • 相关阅读:
    ES(Elasticsearch)详解应用(一)——说说Lucene
    第4章SpringBoot ⽇志
    在 Linux 和 Windows 系统下查看 CUDA 和 cuDNN 版本的方法,包括使用 nvcc 命令
    计算机网络第四节 数据链路层
    百度ERNIE系列预训练语言模型浅析(2)-ERNIE2.0
    【数据结构与算法】JavaScript实现树结构(一)
    MySQL的优化多种方法
    SpringBoot进制转换规则问题
    mysql远程连接失败
    【头歌实验】一、Python初体验——Hello World
  • 原文地址:https://blog.csdn.net/dongjing991/article/details/127888659