web和Nginx的搭建

目录

[一、Web 是什么?(本质定义)](#一、Web 是什么?(本质定义))

[二、Web 能干什么?(核心功能场景)](#二、Web 能干什么?(核心功能场景))

[三、Web 的核心原理是什么?(从「用户访问网页」拆解流程)](#三、Web 的核心原理是什么?(从「用户访问网页」拆解流程))

[1. 核心参与者](#1. 核心参与者)

[2. 完整流程(7 步走,通俗拆解)](#2. 完整流程(7 步走,通俗拆解))

[3. 动态服务的原理(扩展:Web 不止静态页面)](#3. 动态服务的原理(扩展:Web 不止静态页面))

[四、关键补充:Web 与 Nginx 的关系](#四、关键补充:Web 与 Nginx 的关系)

[4.1、Nginx 是什么?(一句话核心定义)](#4.1、Nginx 是什么?(一句话核心定义))

[4.2、Nginx 核心定位](#4.2、Nginx 核心定位)

[4.3.Nginx 工作原理(为什么能支撑高并发?)](#4.3.Nginx 工作原理(为什么能支撑高并发?))

五,实操案例,搭建nginx


一、Web 是什么?(本质定义)

Web 全称 World Wide Web(万维网),核心是:「基于 HTTP/HTTPS 协议,让用户通过浏览器(如 Chrome、Edge)访问服务器上的资源(网页、图片、视频、数据等)的分布式信息系统」。

简单说:

  • Web = 「浏览器(用户端)」 + 「HTTP 协议(通信规则)」 + 「Web 服务器(如 Nginx,存储资源)」;
  • 你现在用 Nginx 搭建的,就是 Web 系统中的「Web 服务器」部分,是整个 Web 生态的核心枢纽。

二、Web 能干什么?(核心功能场景)

Web 的核心价值是「跨设备、跨网络共享资源」,日常用的所有在线服务都基于 Web 实现,主要分 3 类:

  1. 展示静态资源(最基础)直接呈现服务器上的静态文件,比如:

    • 企业官网(HTML+CSS+JS 编写的页面);
    • 图片 / 视频分享(如个人相册、短视频平台的资源分发);
    • 文档下载(如 PDF 手册、软件安装包)。→ 这正是你现在用 Nginx 能直接实现的功能(静态 Web 服务)。
  2. 提供动态交互服务(Web 的核心价值)结合后端程序(如 Java、Python、Node.js),实现用户与服务器的交互,比如:

    • 登录注册(如微信网页版、电商平台登录);
    • 数据查询(如百度搜索、股票行情查询);
    • 提交数据(如发布朋友圈、网购下单)。→ 此时 Nginx 作为「反向代理」,接收用户请求后转发给后端程序,再把结果返回给用户。
  3. 传输加密数据(安全需求)通过 HTTPS 协议(Web 的安全扩展),实现加密通信,比如:

    • 网上银行转账、支付(密码、银行卡号加密);
    • 企业内部系统访问(防止数据被窃取)。→ 这需要 Nginx 配置 SSL 证书,开启 HTTPS 功能。

三、Web 的核心原理是什么?(从「用户访问网页」拆解流程)

Web 的本质是「客户端(浏览器)与服务器(如 Nginx)的请求 - 响应模型」,全程遵循 HTTP/HTTPS 协议,以「用户打开 http://192.168.1.100 为例」,完整流程如下:

1. 核心参与者
  • 客户端:用户的浏览器(如 Chrome),负责发起请求、渲染结果;
  • Web 服务器:你的 Nginx 服务器,负责接收请求、返回资源;
  • 协议:HTTP(明文)/HTTPS(加密),定义双方的通信规则(比如 "请求格式是什么""响应怎么返回");
  • 网络:互联网 / 局域网,负责传输请求和响应数据。
2. 完整流程(7 步走,通俗拆解)

逐步解释:

  1. 用户操作 :用户在浏览器地址栏输入 http://192.168.1.100,点击回车;
  2. 浏览器发起请求 :浏览器按 HTTP 协议,组装一个「请求包」,包含:
    • 请求方法(GET:获取资源);
    • 目标地址(192.168.1.100 的 80 端口,HTTP 默认端口);
    • 浏览器信息(如 Chrome 版本)、请求头等;
  3. 网络传输请求:请求包通过网络(如 WiFi、网线)发送到目标服务器(你的 Nginx 主机);
  4. Nginx 接收请求 :Nginx 监听 80 端口,收到请求后解析:
    • 确认请求的是 192.168.1.100(匹配 server_name localhost);
    • 确认请求路径是 /(匹配 location /);
  5. Nginx 处理请求 :根据配置规则,Nginx 去 /usr/local/nginx/html 目录找默认首页 index.html,读取文件内容,按 HTTP 协议组装「响应包」,包含:
    • 状态码(200 OK:请求成功);
    • 响应头(如文件类型、字符编码);
    • 响应体(index.html 的内容,即网页代码);
  6. 网络返回响应:响应包通过网络传回用户的浏览器;
  7. 浏览器渲染结果 :浏览器解析 index.html 代码,加载 CSS/JS/ 图片等资源,最终呈现出可视化的网页;
  8. 用户看到网页:用户看到 "Nginx Web 服务启动成功" 的页面,流程结束。
3. 动态服务的原理(扩展:Web 不止静态页面)

如果是动态服务(如登录电商平台),流程多一步「后端交互」:

  • 浏览器请求 http://电商域名/login(提交用户名密码);
  • Nginx 作为反向代理,把请求转发给后端 Java/Python 程序;
  • 后端程序验证用户名密码,查询数据库,返回 "登录成功" 的结果;
  • Nginx 把后端结果包装成 HTTP 响应,返回给浏览器;
  • 浏览器渲染 "登录成功" 页面。

四、关键补充:Web 与 Nginx 的关系

  • Nginx 是「Web 服务器软件」,是 Web 系统的核心组件(负责处理请求、返回资源);
  • 除了 Nginx,常见的 Web 服务器还有 Apache、IIS 等,但 Nginx 因高性能、高并发,成为现在的主流;
  • Web 是整个生态(包含用户、浏览器、服务器、协议),而 Nginx 是实现 Web 服务的工具。

4.1、Nginx 是什么?(一句话核心定义)

Nginx(发音 "engine x")是高性能、轻量级的 HTTP/Web 服务器 + 反向代理服务器 + 负载均衡器,核心特点是「高并发、低内存占用、稳定性强」,是现在互联网场景中最主流的 Web 服务中间件。

简单类比:如果把「Web 服务」比作一家餐厅,Nginx 就是餐厅的前台 + 传菜员 + 调度员

  • 前台:接收用户(浏览器)的 "点餐请求"(HTTP 请求);
  • 传菜员:把静态 "菜品"(HTML / 图片)直接端给用户,或把动态 "菜品" 请求转给后厨(后端程序如 Tomcat/Java);
  • 调度员:如果后厨有多个厨师(多台后端服务器),负责把请求均匀分给不同厨师(负载均衡)。

4.2、Nginx 核心定位

从你的实操场景(编译安装、配置 nginx.service、搭建静态 Web 服务)来看,Nginx 解决了 3 个核心问题:

  1. 直接提供静态 Web 服务 (你当前的核心需求)无需依赖其他程序,直接把服务器上的 HTML/CSS/JS/ 图片等静态文件通过 HTTP 协议对外提供访问(比如你创建的 index.html 页面),这是 Nginx 最基础也最擅长的能力。
  2. 解决 "连接处理" 的性能问题传统 Web 服务器(如 Apache)处理高并发时容易卡顿,而 Nginx 采用「异步非阻塞 I/O 模型」,一台普通服务器就能轻松支撑数万并发连接(比如电商秒杀、网站高峰期访问)。
  3. 作为 "中间层" 适配复杂场景当你的 Web 服务不止静态页面(比如有后端 Java/Python 程序、多台服务器),Nginx 可作为反向代理 / 负载均衡器,统一接收用户请求,再转发给后端,同时隐藏后端服务器的真实地址(提高安全性)。

4.3.Nginx 工作原理(为什么能支撑高并发?)

核心是「异步非阻塞 I/O + 多进程模型」,通俗拆解:

  1. 多进程模型 (你能通过 ps aux | grep nginx 看到):
    • 主进程(master process):负责管理配置、启动 / 重启工作进程,不处理具体请求(安全且稳定);
    • 工作进程(worker process):真正处理用户请求,数量可配置(通常等于 CPU 核心数,比如 4 核 CPU 配 4 个 worker 进程)。
  2. 异步非阻塞 I/O:传统服务器处理请求时,会 "等着" 请求处理完(比如等文件读取、网络传输),而 Nginx 的 worker 进程处理一个请求时,若需要等待(比如读文件),会先去处理其他请求,等资源就绪后再回来继续处理,不会浪费 CPU 资源 ------ 这也是 Nginx 能支撑高并发的关键。

五,实操案例,搭建nginx

1.准备环境

关闭防火墙 增强服务等

2.切换到opt目录下进行安装

准备nginx的依赖文件

开始解压安装 编译nginx

./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module \

--with-http_ssl_module

configure编译

没有报错代表成功

补全编译 + 安装(configure 成功后)

复制代码
# 编译(-j 后跟CPU核心数,比如 -j2,加速编译)
make -j2
# 安装(生成 /usr/local/nginx 目录)
make install

让系统识别nginx的操作命令 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

检查 nginx -t

使用抓包软件确认

添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service

Unit

Description=nginx

After=network.target

Service

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

Install

WantedBy=multi-user.target

配置完后重启服务

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