Linux环境下的Java项目部署技巧:Nginx 详解

Nginx 的启动

  1. Nginx 启动会生成 2 个进程:主进程与守护进程
    1. 主进程:常用于提供反向代理服务。特点:占内存大
    2. 守护进程:防止主进程以外关闭。特点:占内存小
  2. Nginx 启动需要占用 80 端口:
    1. 当 Ngnix 启动失败时,首先检查 80 端口是否被占用

Nginx 的命令:

工作目录:
  1. 在 Nginx.exe 的根目录下运行
启动:
  1. win:start nginx
  2. linux:./nginxusr
重启:
  1. win:nginx -s reload
  2. linux:./nginx -s reload
关闭:
  1. win:nginx -s stop
  2. linux:./nginx -s stop
说明:
  1. 重启与关闭命令都是以启动命令为基础的,在启动成功之前,执行重启与关闭命令都会报错

Nginx 实现反向代理机制(通过配置文件完成):

Nginx 实现反向代理:
Nginx 实现文件反向代理:
Nginx 实现域名代理:
Nginx 实现服务器集群和负载均衡:
  1. 服务器集群:
  2. 负载均衡实现:
    1. 方式:Nginx 通过负载策略实现负载
  3. 负载策略:
    1. 轮询机制:Nginx 实现负载均衡的默认机制
      1. 实现方式:采用该机制时,Nginx 会使用 url 请求平均访问服务器集群中的每一台服务器
      2. 实现方法:不需在 upstream 结构中添加任何代码。如上图所示
    2. 权重机制:
      1. 实现方式:采用不同的权重使用 url 请求分布到不同侧重的服务器上
      2. 实现方法:
      3. 使用场景:当服务器新老搭配时,可以通过权重配置,使请求多访问新服务器少访问旧老服务器
    3. ip_hash 机制:将用户与某台服务器进行绑定
      1. 实现方式:通过对 IP 进行 hash 运算绑定到特定服务器上
      2. 实现方法:
    4. 负载均衡的优先级:
      1. IPHASH > 权重 > 轮询

Nginx 高级属性:

down 属性:
  1. 作用:显示指定集群中特定服务器宕机
  2. 使用方式:
  3. 特点:当某一服务器被标识为 down,所有访问都不会访问该服务器
backup 属性:
  1. 作用:显示指定集群中特定服务器为备用机
  2. 备用机的特点:平时不会使用备用机,当集群中的所有在用服务器宕机时,所有备用机才会自动启用
  3. 使用方式:
max_fails 与 fail_timeout 属性:
  1. 作用:Nginx 自动检测服务器状态,对宕机的服务器自动标识为 down
  2. 属性详情:
    1. max_fails:设定最大的失败次数,如果超过最大失败次数则将标识该服务器为 down
    2. fails_timeout:失效的超时时间 60s 表示失效的超时时间为 60 秒
  3. 使用方式:
相关推荐
Johny_Zhao3 小时前
Docker + CentOS 部署 Zookeeper 集群 + Kubernetes Operator 自动化运维方案
linux·网络安全·docker·信息安全·zookeeper·kubernetes·云计算·系统运维
小毛驴8504 小时前
Linux 后台启动java jar 程序 nohup java -jar
java·linux·jar
一心0925 小时前
ubuntu 20.04.6 sudo 源码包在线升级到1.9.17p1
运维·ubuntu·sudo·漏洞升级
好好学习啊天天向上5 小时前
世上最全:ubuntu 上及天河超算上源码编译llvm遇到的坑,cmake,ninja完整过程
linux·运维·ubuntu·自动性能优化
你想考研啊5 小时前
三、jenkins使用tomcat部署项目
运维·tomcat·jenkins
tan180°6 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
代码老y6 小时前
Docker:容器化技术的基石与实践指南
运维·docker·容器
典学长编程6 小时前
Linux操作系统从入门到精通!第二天(命令行)
linux·运维·chrome
wuk9987 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
你想考研啊9 小时前
四、jenkins自动构建和设置邮箱
运维·jenkins