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 高级配置与高可用方案。

相关推荐
leoZ2314 小时前
解决 CentOS7+vsftpd 新建用户登录失败 + ls 卡住问题
运维·服务器
qinyia5 小时前
Rocky Linux 9 源码编译 Asterisk 20 + FreePBX 17 搭建小型呼叫中心
linux·运维·人工智能
艾莉丝努力练剑5 小时前
【Linux网络】Linux 网络编程入门:TCP Socket 编程(上)
linux·运维·服务器·网络·tcp/ip·计算机网络
wgl6665205 小时前
ELF文件 && 链接与加载
linux·运维·服务器
liuluyang5305 小时前
linux kernel CONFIG_FHANDLE解析
linux·运维·服务器
2601_958320576 小时前
【详细版教程】Windows/macOS/Linux 安装 OpenClaw 2.6.6 指南(包含安装包)
linux·运维·windows·macos·小龙虾·open claw一键安装
一只专注api接口开发的技术猿7 小时前
京东商品实时监控选品实战:用 Open Claw API 快速搭建自动化工具
运维·数据库·自动化
ACP广源盛139246256737 小时前
磐石 100 :IX6012 :ASM1812@ACP#国产 PCIe 2.0 交换芯片,轻量级算力扩展应用分享
大数据·linux·运维·网络·人工智能·嵌入式硬件·电脑
A-刘晨阳7 小时前
K8s之负载均衡
linux·运维·容器·kubernetes·负载均衡