Nginx入门教学+实战

一、Nginx 是什么?(先有个画面感)

👉 一句话:

Nginx = 高性能 Web服务器 + 反向代理 + 负载均衡器

它最常干的三件事:

复制代码
1. 托管前端页面(HTML / Vue / React)
2. 转发后端请求(解决跨域)
3. 分发请求(多台服务器)

二、安装 Nginx(Linux / Windows)

🐧 Linux(推荐,企业环境)

复制代码
# 安装
yum install nginx -y

# 启动
systemctl start nginx

# 设置开机启动
systemctl enable nginx

🪟 Windows(适合学习)

  1. 去官网下载:
    👉 https://nginx.org/en/download.html

  2. 解压后运行:

    nginx.exe

  3. 浏览器访问:

    http://localhost

看到欢迎页说明成功 🎉


三、Nginx 核心配置结构(必须看懂🔥)

配置文件:

复制代码
nginx.conf

核心结构长这样:

复制代码
events {}

http {
    server {
        listen 80;

        location / {
        }
    }
}

🧠 理解三层结构

层级 作用
http 所有请求的总入口
server 一个网站
location 路由规则

👉 类比:

复制代码
http = 商场
server = 店铺
location = 柜台

四、第一个实战:部署前端页面 🌐

⚙️ 配置

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

    location / {
        root   /usr/share/nginx/html;
        index  index.html;
    }
}

📂 把你的前端文件丢进去:

复制代码
/usr/share/nginx/html

👉 访问:

复制代码
http://服务器IP

五、第二个实战:反向代理(重点🔥)

👉 目标:

复制代码
前端 → /api → Nginx → 后端(SpringBoot)

⚙️ 配置

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

    location /api/ {
        proxy_pass http://localhost:8081/;
    }
}

🧪 测试

前端请求:

复制代码
axios.get("/api/user")

👉 实际转发:

复制代码
http://localhost:8081/user

🎯 作用

✔ 解决跨域

✔ 隐藏后端地址

✔ 统一入口


六、第三个实战:负载均衡(进阶一点)

👉 场景:

复制代码
后端有2台服务器

⚙️ 配置

复制代码
http {
    upstream backend {
        server localhost:8081;
        server localhost:8082;
    }

    server {
        listen 80;

        location /api/ {
            proxy_pass http://backend;
        }
    }
}

🎯 效果

复制代码
请求1 → 8081请求2 → 8082请求3 → 8081

👉 自动分流 🚦

相关推荐
网络小白不怕黑39 分钟前
10.邮件服务器搭建并脚本实现监控httpd状态
linux·运维·服务器
TTBIGDATA1 小时前
【Ambari Plus】15.Livy 安装
大数据·运维·hadoop·ambari·hdp·cdh·bigtop
java_logo1 小时前
5 分钟共享打印机:用 Docker 一键部署 CUPS
运维·docker·容器·cups·网络打印机·共享打印机·docker部署cups
Macbethad2 小时前
基于TwinCAT的半导体刻蚀设备SCADA管理程序技术方案
运维·网络·数据库
刘马想放假2 小时前
生成树协议 STP、RSTP、MSTP 分析:二层环网如何既冗余又不环路
运维·网络协议
zhz52143 小时前
Nginx + OpenSSL 自签名证书配置:优劣总结
运维·nginx
jsons13 小时前
rocky8内网离线批量补丁(你之前搭建的架构,多台服务器首选,无订阅)
linux·运维·服务器
Bomangedd3 小时前
NSK RA25BN 滚子直线导轨技术详解
运维·服务器·经验分享·规格说明书
EnCi Zheng3 小时前
N3A-一个端口只能给一个程序使用吗?[特殊字符]
网络·nginx·docker
2301_780303903 小时前
DevSecOps建设之自动化集成与部署 Jenkins教程和使用案例
运维·自动化·jenkins