第27周JavaSpringboot Nginx

Nginx 课程笔记整理

课程介绍

本课程主要介绍 Nginx 的基本概念、安装、常用命令、配置文件讲解以及实际操作演示。通过本课程的学习,你将掌握 Nginx 的核心功能和应用场景,能够独立进行安装和基本配置,并在实际项目中应用。

课程内容

第一小节:Nginx 基本介绍

功能与用途

  • Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。
  • 它被广泛用于构建高性能、高可用性的 Web 应用。

优点

  • 高性能,支持高并发。
  • 资源消耗少,运行稳定。
  • 功能丰富,配置灵活。
  • 社区活跃,文档丰富,问题易于解决。

流行原因

  • 优秀的性能表现,能够处理高并发请求。
  • 低资源消耗,适合各种规模的应用。
  • 稳定性强,适合长时间运行的服务。
  • 丰富的功能和灵活的配置满足多种需求。
  • 活跃的社区支持,便于解决问题和获取资源。

第二小节:正向代理与反向代理

正向代理

  • 定义:正向代理是一种代理服务器,客户端通过它向目标服务器发送请求。代理服务器会转发客户端的请求到目标服务器,并将响应返回给客户端。
  • 工作原理
    1. 客户端配置代理服务器地址和端口。
    2. 客户端向代理服务器发送请求。
    3. 代理服务器向目标服务器转发请求。
    4. 目标服务器返回响应给代理服务器。
    5. 代理服务器将响应返回给客户端。
  • 应用场景
    • 统一网络出口,便于管理和监控。
    • 修改客户端 IP,绕过访问限制。
    • 缓存常用资源,提高访问速度。

反向代理

  • 定义:反向代理是一种代理服务器,客户端直接向目标服务器发送请求,但目标服务器实际上将请求转发到其他服务器进行处理,客户端并不知道这一过程。
  • 工作原理
    1. 客户端向目标服务器发送请求。
    2. 目标服务器(反向代理服务器)接收请求。
    3. 反向代理服务器将请求转发到后端服务器。
    4. 后端服务器处理请求并返回响应。
    5. 反向代理服务器将响应返回给客户端。
  • 应用场景
    • 负载均衡,分发请求到多个后端服务器。
    • 隐藏后端服务器架构,增加安全性。
    • 提供缓存功能,减少后端服务器负载。

正向代理与反向代理的区别

  • 作用对象
    • 正向代理作用于客户端,帮助客户端访问目标服务器。
    • 反向代理作用于服务器端,帮助服务器处理客户端请求。
  • 配置方式
    • 正向代理需要在客户端配置代理服务器地址。
    • 反向代理通常在服务器端配置,客户端无需感知。
  • 应用场景
    • 正向代理主要用于客户端的网络管理和访问控制。
    • 反向代理主要用于服务器端的负载均衡和安全防护。

第三小节:Nginx 安装

Linux 系统安装

  1. 配置 YUM 源:
    sudo yum install -y yum-utils
    sudo yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
    
  2. 安装 Nginx:
    sudo yum install -y nginx
    
  3. 启动 Nginx:
    sudo systemctl start nginx
    
  4. 检查安装:
    nginx -v
    

macOS 系统安装

  • 使用 Homebrew:
    brew install nginx
    

Windows 系统

  • 不推荐在 Windows 上安装 Nginx,因为 Windows 不适合作为服务器使用,且与 Linux 系统下的功能存在差异。

第四小节:Nginx 常用命令

启动 Nginx

sudo systemctl start nginx

停止 Nginx

sudo systemctl stop nginx

重启 Nginx

sudo systemctl restart nginx

查看版本

nginx -v

测试配置文件

nginx -t

重新加载配置

sudo systemctl reload nginx

第五小节:Nginx 配置文件讲解

配置文件位置

  • 默认配置文件位置:/etc/nginx/nginx.conf
  • 使用 include 指令可以引入其他配置文件。

主要配置项

  • user:指定运行 Nginx 的用户。
  • worker_processes:设置工作进程数,通常设置为 auto
  • error_log:指定错误日志文件位置。
  • worker_connections:设置单个工作进程的最大连接数。
  • server:定义服务器块,包含监听端口、根目录等配置。

示例配置

server {
    listen 80;
    server_name localhost;
    root /usr/share/nginx/html;
    index index.html index.htm;
}

第六小节:Nginx 实战操作

搭建静态资源服务

  1. 准备静态资源文件(如 HTML、CSS、图片等)。
  2. 将文件放置在 Nginx 的根目录下(默认为 /usr/share/nginx/html)。
  3. 配置 Nginx 配置文件,指定根目录和相关设置。
  4. 重启 Nginx 使配置生效。

示例

server {
    listen 80;
    server_name localhost;
    root /path/to/your/static/files;
    index index.html index.htm;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值