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

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

Nginx 的启动

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

Nginx 的命令:

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

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

  1. Nginx 实现反向代理:
  2. Nginx 实现文件反向代理:
  3. Nginx 实现域名代理:
  4. 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 高级属性:

  1. down 属性:
    1. 作用:显示指定集群中特定服务器宕机
    2. 使用方式:
    3. 特点:当某一服务器被标识为 down,所有访问都不会访问该服务器
  2. backup 属性:
    1. 作用:显示指定集群中特定服务器为备用机
    2. 备用机的特点:平时不会使用备用机,当集群中的所有在用服务器宕机时,所有备用机才会自动启用
    3. 使用方式:
  3. max_fails 与 fail_timeout 属性:
    1. 作用:Nginx 自动检测服务器状态,对宕机的服务器自动标识为 down
    2. 属性详情:
      1. max_fails:设定最大的失败次数,如果超过最大失败次数则将标识该服务器为 down
      2. fails_timeout:失效的超时时间 60s 表示失效的超时时间为 60 秒
    3. 使用方式:

http://www.kler.cn/a/531635.html

相关文章:

  • ubuntu18.04环境下,Zotero 中pdf translate划线后不翻译问题解决
  • 2 [GitHub遭遇严重供应链投毒攻击]
  • 重新刷题求职2-DAY1
  • 联想拯救者Y9000P IRX8 2023 (82WK) 原厂Win11 家庭中文版系统 带一键还原功能 安装教程
  • 成绩案例demo
  • SpringMVC全局异常处理+拦截器使用+参数校验
  • powershell编写一个简易的http服务器httpServer
  • 《基于deepseek R1开源大模型的电子数据取证技术发展研究》
  • 计算机组成原理——存储系统(二)
  • 大一计算机的自学总结:数据结构设计相关题
  • 浅谈知识蒸馏技术
  • 【玩转 Postman 接口测试与开发2_014】第11章:测试现成的 API 接口(下)——自动化接口测试脚本实战演练 + 测试集合共享
  • Immutable设计 SimpleDateFormat DateTimeFormatter
  • 如何用一年时间如何能掌握 C++ ?
  • lstm部分代码解释1.0
  • MySQL锁详解
  • 深入探究 Spring 中 FactoryBean 注册服务的实现与原理
  • 【智力测试——二分、前缀和、乘法逆元、组合计数】
  • 【C++】P5734 【深基6.例6】文字处理软件
  • 使用Walk()遍历目录
  • Mac电脑上好用的免费截图软件
  • 【Linux】进程状态和优先级
  • Vue.js组件开发-实现左侧浮动菜单跟随页面滚动
  • FreeRTOS学习笔记3:系统配置文件+任务创建和删除的API函数介绍
  • 实验十一 Servlet(二)
  • 重新刷题求职2-DAY1