Nginx

一、Nginx 简介

1. 什么是 Nginx?

Nginx(Engine X)是一款高性能的 Web 服务器 ​ 和 反向代理服务器 ,由俄罗斯工程师 Igor Sysoev 开发,采用 C 语言编写。

2. Nginx 的三大核心作用

  • 反向代理:Nginx 接收客户端请求,再转发给后端服务器

  • 负载均衡:将请求分发到多台 Tomcat / 应用服务器

  • 动静分离:静态资源由 Nginx 直接处理,减轻后端压力


二、Nginx 安装与启动

1. 安装步骤(CentOS)

复制代码
# 1. 安装依赖环境
yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

# 2. 上传并解压
cd /usr/upload
tar -zxvf nginx-1.10.0.tar.gz

# 3. 配置安装路径
cd nginx-1.10.0
./configure --prefix=/usr/local/nginx

# 4. 编译并安装
make && make install

2. 目录结构说明

目录 说明
conf 配置文件(nginx.conf)
html 静态资源
logs 日志文件
sbin 启动脚本

3. 常用命令

复制代码
cd /usr/local/nginx/sbin

# 启动
./nginx

# 停止
./nginx -s stop

# 重新加载配置
./nginx -s reload

三、反向代理配置

反向代理是指 客户端访问 Nginx,Nginx 再转发请求给后端服务

复制代码
server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

📌 效果:

访问 http://localhost→ 实际访问 http://127.0.0.1:8080


四、负载均衡配置

1. 基本负载均衡示例

复制代码
upstream myTomcats {
    server 127.0.0.1:8080;
    server 127.0.0.1:8090;
}

server {
    listen 80;
    server_name localhost;

    location / {
        proxy_pass http://myTomcats;
    }
}

2. Nginx 的 6 种负载均衡策略

策略 说明
轮询(默认) 按顺序轮流分配
weight 按权重比例分配
ip_hash 按客户端 IP 分配
url_hash 按请求 URL 分配
least_conn 分配给连接数最少的服务器
fair 按响应时间动态分配

3. Session 丢失问题如何解决?

✅ 推荐方案:Redis + Session

  • Redis 与 Session 都是 K-V 结构

  • 支持过期时间

  • 高可用、性能优

❌ 不推荐方案:

  • ip_hash(服务器宕机仍可能丢失)

  • Session 复制(集群规模大时性能差)


五、动静分离配置

动静分离:

👉 静态资源由 Nginx 直接返回

👉 动态请求转发给 Tomcat

复制代码
server {
    listen 80;
    server_name localhost;

    location / {
        root /usr/upload/pic;
    }
}

📌 适用场景:

  • 图片服务器

  • 前端静态站点

  • CDN 源站


六、总结

✅ Nginx 是高性能服务器

✅ 常用于 反向代理 + 负载均衡 + 动静分离

✅ 生产环境强烈建议使用 Redis 解决 Session 共享问题

如果你觉得这篇文章对你有帮助,欢迎 点赞 + 收藏 + 关注​ 👍

后续我会继续更新 Nginx 高级配置与高可用方案。

相关推荐
ping某15 小时前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
大树882 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质3 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工3 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智3 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
施努卡机器视觉3 天前
SNK施努卡侧滑门锁上滑轮总成自动化装配线,从零件到组件,全流程精密制造方案
运维·自动化·制造
AC赳赳老秦3 天前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes