Nginx 入门,一篇搞定!

发布时间:2026/10/27 8:21:53

Nginx 入门,一篇搞定! 文章目录*一、简介* 二、下载和安装* * 1、下载 与 各版本介绍 * 2、安装流程* 三、目录结构分析* 四、配置环境变量* 五、安装 tree 工具 可选* 六、查看版本号* 七、检查配置文件完整性* 八、启动和停止* 九、Nginx 的一些细节* * 1、自动创建临时目录 * 2、自动生成日志文件* 十、重新加载配置文件* 十一、profile配置文件结构* 十二、静态资源的部署和基本配置* * 1、静态资源部署 * 2、基本配置server 块* 十三、正向代理 、反向代理的介绍与区别* * 1、正向代理概念 * 2、反向代理概念 * 3、正向代理、反向代理的区别* 十四、配置反向代理服务器* 十五、负载均衡的介绍与配置* * 1、介绍 * 2、配置负载均衡 * 3、负载均衡策略* *### 一、简介*### 二、下载和安装 官网下载https://nginx.org/en/download.html#### 1、下载 与 各版本介绍#### 2、安装流程 按照以下流程依次执行 安装过程 1、安装依赖包 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel 由于 Nginx 是由 C 语言开发的需要安装一些依赖包比如gcc等。 2、下载Nginx安装包wget https://nginx.org/download/nginx-1.16.1.tar.gz 如果已经下载了安装包并上传到了服务器可以跳过这一步 3、解压 tar -zxvf nginx-1.16.1.tar.gz 4、cd nginx-1.16.1 5、./configure --prefix/usr/local/nginx 该命令用于指定 nginx 的安装目录 nginx 目录是不存在的需要提前通过 mkdir 命令创建出来mkdir -p /usr/local/nginx 6、make make install 两个命令一起执行表示先 make 编译后再通过 install 安装 * *### 三、目录结构分析conf 目录 存放配置文件html 目录 存放静态资源文件*logs 目录 存放运行日志文件*sbin 目录 存放脚本文件重点目录/文件 * conf/nginx.conf nginx配置文件 * html 存放静态文件html、CSS、Js等 * logs 日志目录存放日志文件 * sbin/nginx 二进制文件用于启动、停止Nginx服务* *### 四、配置环境变量 回到根目录 cd / 编辑系统配置文件 vim /etc/profile 配置环境变量 如下图 PATH/usr/local/nginx/sbin:$PATH 刷新配置文件 source /etc/profile*### 五、安装 tree 工具 可选 用于展示目录结构的工具树型展示文件结构 安装命令 yum install tree 使用命令 tree //可树状显示出当前目录的结构信息效果*### 六、查看版本号 如果配置了 Nginx 环境变量则可以在任意目录输入 nginx 命令无需进入sbin目录也无需加 ./ 查看 Nginx 版本号 nginx -v*### 七、检查配置文件完整性 如果配置了 Nginx 环境变量则可以在任意目录输入 nginx 命令无需进入sbin目录也无需加 ./ 检查配置文件完整性 nginx -t*### 八、启动和停止 如果配置了 Nginx 环境变量则可以在任意目录输入 nginx 命令无需进入sbin目录也无需加 ./ 启动Nginx服务 ./nginx 停止Nginx服务 ./nginx -s stop 启动完成后可以查看Nginx进程 ps -ef | grep nginx*### 九、Nginx 的一些细节#### 1、自动创建临时目录 当 Nginx 启动后会自动生成一些临时目录无需在意 #### 2、自动生成日志文件 当 Nginx 启动后会在 logs 目录下生成一些日志文件 *access.log 文件存放 Nginx 运行时的访问日志 *error.log 文件存放 Nginx 运行时的错误日志 *nginx.pid 文件存放 Nginx 运行时的主进程idmaster进程Nginx 服务停止后文件会自动销毁*### 十、重新加载配置文件 如果配置了 Nginx 环境变量则可以在任意目录输入 nginx 命令无需进入sbin目录也无需加 ./作用当我们对 Nginx 配置文件做改动后无需重启 Nginx 使用 reload 命令可以马上生效 重新加载配置文件 刷新配置文件 nginx -s reload*### 十一、profile配置文件结构 在开发中我们常常需要配置的是http 块部分 每次修改配置文件后建议使用-t命令检查配置文件的正确性再使用reload命令重新加载配置文件*### 十二、静态资源的部署和基本配置#### 1、静态资源部署Nginx可以作为静态web服务器来部署静态资源。 静态资源指在服务端真实存在并且能够直接展示的一些文件比如常见的html页面、css文件、js文件、图片、视频等资源。 相对于TomcatNginx处理静态资源的能力更加高效所以在生产环境下一般都会将静态资源部署到Nginx中。 将静态资源部署到Nginx非常简单只需要将文件复制到Nginx安装目录下的html目录中即可。#### 2、基本配置server 块 server { listen 80; #监听端口 server_name localhost; #服务器名称域名 location / { #匹配客户端请求urllocation 后写要匹配的请求路径/ 代表根路径 root html; #指定静态资源根目录配置 html 目录为静态资源根目录 index index.html; #指定默认首页多个请用空格分隔 } } * *### 十三、正向代理 、反向代理的介绍与区别#### 1、正向代理概念是一个位于客户端和原始服务器(origin server)之间的服务器为了从原始服务器取得内容客户端向代理服务器发送一个请求并指定目标(原始服务器)然后代理向原始服务器转交请求并将获得的内容返回给客户端。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。*正向代理一般是在客户端设置代理服务器通过代理服务器转发请求最终访问到目标服务器。#### 2、反向代理概念*反向代理服务器位于用户与目标服务器之间但是对于用户而言反向代理服务器就相当于目标服务器即用户直接 访问反向代理服务器就可以获得目标服务器的资源反向代理服务器负责将请求转发给目标服务器。*用户不需要知道目标服务器的地址也无须在用户端作任何设定。Nginx 提供了反向代理的功能#### 3、正向代理、反向代理的区别*正向代理在客户端设置的代理服务器客户端知道代理服务器的存在*反向代理在目标服务器端设置的代理服务器客户端不知道代理服务器的存在和目标服务器的地址。正向代理在客户端设置。 反向代理在服务端设置 。* *### 十四、配置反向代理服务器 在 location 块中通过 proxy_pass 配置要代理的服务器 server { listen 82; #需要监听的代理服务器端口 server_name localhost; #代理服务器域名 location / { #监听的请求路径 / proxy_pass http://192.168.138.101:8080; #反向代理配置将请求转发到指定服务 } } 解析当客户端访问反向代理服务器 192.168.138.100:82 地址时反向代理服务器就会将客户端请求转发到地址为 192.168.138.101:8080 的目标服务器 并且反向代理服务器再将目标服务器的响应数据转发回客户端。*### 十五、负载均衡的介绍与配置#### 1、介绍早期的网站流量和业务功能都比较简单单台服务器就可以满足基本需求但是随着互联网的发展业务流量越来越大并且业务逻辑也越来越复杂单台服务器的性能及单点故障问题就凸显出来了因此需要多台服务器组成应用集群进行性能的水平扩展以及避免单点故障出现。应用集群将同一应用部署到多台机器上组成应用集群接收负载均衡器分发的请求进行业务处理并返回响应数据*负载均衡器将用户请求根据对应的负载均衡算法分发到应用集群中的一台服务器进行处理 负载均衡器也是一种反向代理服务器只不过是将客户端请求转发到多台服务器上服务器集群#### 2、配置负载均衡 配置到 http-全局块 配置负载均衡 upstream targetserver{ # upstream指令可以定义一组服务器 server 192.168.138.101:8080 weight10; # 可定义多个要均衡负载的服务器用 ; 号分隔 server 192.168.138.101:8081 weight5; # weight 代表权重值越大权重越大该服务器分配请求的概率就越高 } server { listen 8080; server_name localhost; location / { proxy_pass http://targetserver; # 设置反向代理服务器配置了一组负载均衡的服务器 targetserver } } 如果配置负载均衡时不加 weight 关键字来设置权重那么默认的负载均衡策略是 “轮询” 轮询轮着来平均分配。#### 3、负载均衡策略 配置方式 server 服务器ip:端口号 负载均衡策略; 如server 192.168.138.101:8080 weight10;
延伸阅读

更多相关文章

2026/10/25 9:22:40

微信小程序云开发实战:从零构建全栈失物招领应用

简介:云开发是一种集成了数据库、存储和云函数等后端能力的Serverless解决方案,它让开发者无需管理服务器即可构建全栈应用。其核心原理是通过提供封装好的云端服务,将复杂的后端运维工作简化,使开发者能专注于业务逻辑。这项技术…

2026/10/24 0:50:13

C# WinForm自定义圆形进度条控件开发实战指南

简介:在桌面应用开发中,自定义控件是提升用户体验和界面美观度的重要手段。通过继承Control类并重写OnPaint方法,开发者可以完全掌控控件的绘制逻辑,实现标准控件库无法提供的视觉效果。GDI绘图技术为此提供了底层支持&#xff0c…

2026/10/25 7:29:16

QML 音频波形进度条:五种波形的进度可视化

目录 Demo 音频波形进度条 演示代码(基础波形) 关键逻辑解析(基础波形) 演示代码(频谱柱) 关键逻辑解析(频谱柱) 演示代码(流水波形) 关键逻辑解析(流水波形) 演示代码(心跳波形) 关键逻辑解析(心跳波形) 演示代码(镜像波形) 关键逻辑解析(镜像波形) 运行验…

2026/10/27 8:18:41

轻量级多模态AI:llama.cpp部署Qwen3.5-0.8B实践

1. 项目概述:当轻量级大模型遇上多模态最近在折腾一个有意思的实验——用llama.cpp加载Qwen3.5-0.8B的BF16量化版多模态模型,实现图像文字识别功能。这个方案特别适合想在本机跑多模态AI的开发者,相比动辄需要16G显存的方案,经过优…

2026/10/27 8:18:41

基于深度学习的智能花卉识别系统设计与优化

1. 项目背景与核心价值花卉识别一直是计算机视觉领域的经典应用场景。去年我在完成本科毕业设计时,选择了基于深度学习的花卉识别系统作为课题,一方面因为这个方向有明确的应用场景(如智能园艺、植物学研究辅助),另一方…

2026/10/27 8:18:41

Delphi DBExpress连接MySQL 5.7的DLL版本匹配与部署指南

简介:本资源是面向Delphi 7开发者连接MySQL 5.7数据库的实操型动态库解决方案,专为解决DBExpress组件在旧版Delphi中兼容高版本MySQL时常见的驱动缺失、连接失败等典型问题而设计。压缩包内含17个文件,总计1.3MB,核心包括经项目实…

2026/10/27 8:18:41

火山方舟与Claude Code集成配置实战指南

1. 项目概述火山方舟Coding Plan(豆包)是当前AI开发领域的热门工具链,而Claude Code作为新一代智能编程助手,二者的结合能够显著提升开发效率。最近在帮团队配置这套环境时,我发现官方文档对某些关键环节的说明比较简略…

2026/10/27 8:18:41

Mac上5分钟配置VSCode C++开发环境(Clang+Homebrew)

1. 项目概述&#xff1a;为什么一个“5分钟C环境配置”值得专门写一篇长文&#xff1f; 你是不是也经历过——刚装好VSCode&#xff0c;点开一个 .cpp 文件&#xff0c;敲下 #include <iostream> &#xff0c;按下F5想跑个Hello World&#xff0c;结果弹出一连串红色…

2026/10/27 8:13:40

技术人必备PPT美化工具与高效制作技巧

1. 技术人为何需要PPT美化工具&#xff1f;作为常年与代码打交道的技术从业者&#xff0c;PPT制作往往是我们最头疼的软技能之一。上周我参加技术分享会时&#xff0c;看到某位架构师的PPT满屏都是密密麻麻的代码截图和黑白文字&#xff0c;台下观众昏昏欲睡的场景至今难忘。这…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介&#xff1a;这份PDF是全国计算机二级C语言考试的试题与答案解析&#xff0c;专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介&#xff1a;一份以实战为导向的Python爬虫入门资源&#xff0c;面向具备基本编程基础、希望快速掌握网络数据抓取的初学者&#xff0c;可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档&#xff0c;完整演示从网页中提取 标题…

2026/10/27 0:59:21

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介&#xff1a;这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档&#xff0c;压缩包大小七十八KB&#xff0c;内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开&#xff1a;先构造一个极点位于单位圆内…

2026/10/27 0:02:28

WorkBuddy_新建任务与工作模式19_“模式选错”的典型代价

“模式选错”的典型代价 摘要 在软件工程中&#xff0c;设计模式、架构模式、并发模式乃至团队协作模式的选择&#xff0c;往往在项目早期就决定了后续的开发效率和维护成本。本文通过多个真实场景&#xff0c;剖析“模式选错”带来的典型代价——包括返工成本、技术债务累积、…

2026/10/27 0:02:28

WorkBuddy_新建任务与工作模式20_新手推荐路径

新手推荐路径 摘要 在 AI 辅助开发工具快速普及的今天&#xff0c;新手面对最多的困惑往往不是"工具够不够强"&#xff0c;而是"我该从哪一步开始用"。本文提出一条经过实践验证的三阶段学习路径&#xff1a;先从 Ask&#xff08;问答式交互&#xff09;起…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑