NGINX学习记录-基础入门篇

article/2025/10/16 22:01:03

 学习《NGINX 经典教程》林静,刘旭峰,章澍,廖健雄,宗兆伟 ... 著

目录

一、Nginx优点

二、功能(应用场景)

反向代理。

负载均衡

静态缓存

Web服务器

安全和访问控制

三、nginx安装

四、启动、停止和重载nginx

五、配置文件

六、配置静态文件web服务器


一、Nginx优点

  1. 高并发。能够处理高并发请求是nginx最显著的特点。
  2. 高稳定性。
  3. 高扩展性。Nginx以模块未单位组织相应的配置解析和功能实现,做到了模块内高内聚、模块间低耦合。

二、功能(应用场景)

反向代理。

反向代理运行于服务器端,代表服务器端接收来自客户端的请求,并将后端服务器给出的相应返回给客户端。通常回合其他核心功能联用,如跟负载均衡功能联用,可以实现带权重的请求转发以及限流和灰度发布。

负载均衡

背景:单台服务器的处理能力已经不能满足高并发环境下的相应要求。

Nginx 提供了针对HTTP、TCP和UDP的负载均衡,以及多种内置策略(如轮询、加权轮询、IP和cookie hash等),让用户能够根据自己业务的流量特点,按照特定的规则分流来自前端的请求。

Nginx的负载均衡同时也包含检查上游服务器状态的能力。

静态缓存

    使用静态缓存把静态资源缓存下来。Nginx的静态缓存功能 有效减少了服务器在计算和传输静态资源时产生的性能消耗。静态资源包括动态页面中的静态部分、静态页面和资源文件等。

Web服务器

     是nginx的基础功能。用户可以使用server配置块定义自己的web服务器,如监听IP端口、协议类型、SSL及网络传世行为;使用location配置块定义URL及请求发生时的响应逻辑。

安全和访问控制

常见场景

  1. SSL卸载/加载:实现对四层、七层服务器流量的SSL加解密。
  2. HTTP认证访问控制:实现对前端请求JWT或Basic Auth的认证方式。
  3. 针对特定资源的访问控制:针对资源的类型或者访问者地址做控制。
  4. 动态黑白名单:针对客户端IP或者Keyval模块实现基于IP的访问控制

    

三、nginx安装

1.下载nginx源

rpm -Uvh

http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装 

yum install -y nginx

安装成功

 使用一下命令进行启动

systemctl start nginx   //启动Systemctl enable nginx   //添加nbinx服务到开机启动Ps -aux|grep nginx   //查看进程状态

切换到nginx 目录下 cd  /etc/nginx

查看目录下的文件

fastcgi* : 包含FastCGI相关参数的配置。mime.types : 媒体类型的文件nginx.conf : nginx默认的主配置文件scgi_params : 包含SCGI相关参数的配置。uwsgi_params : 包含uWSGI相关参数的配置

四、启动、停止和重载nginx

 运行nginx可执行文件,即可启动nginx。

 * nginx可执行文件可能并不在path环境变量中 如果不在,则需要使用一下命令将其添加到path变量中

 export PATH=$PATH:/usr/local/nginx/sbin

 启动nginx后,可以通过-s以发送信号的方式管理nginx进程

 nginx -s signal

 master进程接收以下信号

 stop :立即退出

 quit:优雅退出

 reload 重载配置

 reopen:重新打开日志文件

nginx进程结构:

nginx的进程空间由一个master进程和多个worker进程组成。

Master进程的主要职责是读取和评估配置,并维护worker进程。

Worker进程负责处理实际的请求。Worker进程的数量可以在配置文件中自定义,也可以使用默认值,即可用的CPU内核数。

执行ps -ax | frep nginx命令可以查看nginx的所有进程

Nginx -h 命令可以查看nginx所有参数组成的列表

其中

-p : 用于指定使用的根目录。我们默认使用的根目录是在编译时指定的。可以将nginx安装目录复制到别处,并使用-p参数重新指定跟目录。

-c:用于指定配置文件,这个参数只是改变配置文件,而不改变根目录。

-g:用于将全局快配置放置在命令行中。当配置文件和命令行同时出现相同的配置项时,命令行优先,它会覆盖配置文件中对应的配置项。这个参数可以方便我们临时改变nginx全局配置,如worker_processes、user、error_log等。

五、配置文件

配置文件为静态配置。内部各配置块的先后顺序没有要求。

#全局配置:放置全局配置指令,例如nginx服务的用户组、nginx进程的PID路径、日志路径、配置文件的索引和worker进程数等

#events块配置:nginx采用异步非阻塞的时间驱动机制,在events配置快中可以定义每个#worker进程的最大连接数、驱动模型等

#http块配置:定义http协议的处理行为,内部可以嵌套多个server块,配置发多数模块(代理缓存等)的功能

#server块配置:定义web服务器的相关参数,如监听端口、域名、内部嵌套的location块配置等。

#location块配置:配置请求的资源路径和资源处理行为。

六、配置静态文件web服务器

将web前端的文件(如vue打包后的dist文件夹里的文件)拷贝到服务器 /data/www目录

user root;#
在实际环境中需要把该项改成NGINX启动的账号, 并保证其访问权限work_processes 1;events {work_connections 1024;}http {server {location / {   #第一个location块Root / data / www;}location / images / { #第二个location块Root / data;}}}

如果请求匹配到多个localtion块,那么nginx会选择具有最长前缀的location块。

这里有两个location块, 会先匹配#第二个location块,如果没匹配到的话,才使用#第一个location块

配置文件保存之后,使用以下命令重新加载配置文件。如果未启动nginx的话 需要启动nginx。

nginx -s reload

这里配置server块是,没有使用listen指定显式地指定监听端口,因此nginx会默认监听80端口。

我们在浏览器上打开http://服务器ip/  就可以访问配置好的静态文件web服务器

ps:仅学习记录


http://chatgpt.dhexx.cn/article/gni7bUBn.shtml

相关文章

Nginx学习总结(1):Nginx简介

(最近,部门组织了好几个技术兴趣小组,对当前的热门技术进行研究。我加入了Nginx学习小组,与几个同事一道围绕Nginx来进行研究和学习。从今天起,我会陆陆续续发一系列有关Nginx的学习总结。本文是系列之一:Nginx简介。)…

学习nginx

Nginx笔记 安装nginxwget -c https://nginx.org/download/nginx-1.20.1.tar.gz1、创建软链路ls /usr/local/nginx/sbin/nginx /usr/bin/ 2、前端部署配置 Conf 在这里插入图片描述 3、启动服务 由于软链路 可以直接 nginx 启动(任意目录) 停止 nginx -s…

nginx学习日记

nginx介绍 1.什么是nginx? nginx就是c语言开发的一个高性能HTTP和反向代理Web服务器以及电子邮件(IMAP/POP3)代理服务器 nginx是轻量级的。 2.什么是反向代理? 代理服务可以简单的分为正向代理和反向代理。 正向代理:就是代理…

Nginx学习笔记总结:初次认识 Nginx

2022 年 4月 16 日 百思不得小赵 🔍点此进入博客主页 —— 新时代的农民工 🙊 —— 换一种思维逻辑去看待这个世界 👀 今天是加入CSDN的第1141天。觉得有帮助麻烦👏点赞、🍀评论、❤️收藏啦。 概述 Nginx是一个高性能…

Nginx服务器学习

学习思维导图 Nginx服务架构说明 Nginx采用master-worker的架构,和tomacat的按路径匹配一个节点线程进行处理方式不同,Nginx是直接让worker来先抢夺资源也就是请求,然后在去处理,每个worker保持为一个独立的进程。 Nginx服务的实际…

nginx学习,看这一篇就够了

nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全_冯安晨-CSDN博客_nginx 代理 文件下载文章目录前言一、nginx简介1. 什么是 nginx 和可以做什么事情2.Nginx 作为 web 服务器3. 正向代理4…

Nginx学习+安装

目录 一、Nginx介绍 二、Nginx下载和安装 1.安装过程 三、了解目录结构 小知识点:树形结构目录展示 四、常用命令 五、配置文件结构 六、具体应用 1.部署静态资源 2.反向代理 了解正向代理 反向代理 3.负载均衡 重中之重:更详细的内容可以访…

Nginx学习与安装

Nginx学习与安装 一、Nginx介绍二、Nginx 安装2.1 安装 pcre-8.44.tar.gz2.2 安装openssl与zlib2.3 安装nginx2.4 Nginx 命令 Nginx 配置文件 一、Nginx介绍 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。Nginx以事件驱动的方式编写…

手把手学习nginx基本配置

相信很多人都听过nginx,这个小巧的东西慢慢地在吞食apache和IIS的份额。那究竟它有什么作用呢?可能很多人未必了解。 说到反向代理,可能很多人都听说,但具体什么是反向代理,很多人估计就不清楚了。摘一段百度百科上的描…

Nginx学习整理|入门记录

目录 1. Nginx概述 1.1 Nginx介绍 1.2 Nginx下载和安装 1.3 Nginx目录结构 2. Nginx命令 3. Nginx配置文件结构 4. Nginx具体应用 4.1 部署静态资源 4.2 反向代理 4.3 负载均衡 1. Nginx概述 1.1 Nginx介绍 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件…

nginx学习总结

简介 静态资源服务器,反向代理,负载均衡等,这些场景下,nginx无处不在。但是本人是在解决单个tomcat承受不了并发量的前提下,才走进的nginx。以下都是个人的总结,如果有不对的话,可以指出来&…

Nginx入门学习

Nginx快速入门 Nginx快速入门,了解什么是Nginx,正向代理,反向代理,负载均衡的概念,学会Nginx的安装和常用的命令,并且能实际场景应用Nginx 什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和…

Nginx学习

目录 1. Nigix简介1.1 什么是 Nginx?1.2 Nginx的作用?1.3 正向代理和反向代理1.4 Windows上安装Nginx1.5 Linux上安装Nginx 2. Nginx常用命令docker 部署nginx 1. Nigix简介 1.1 什么是 Nginx? Nginx是一个高性能的HTTP和反向代理web服务器(随着客户…

Nginx教程(小白必看,看了必会,不看血亏),

Notice 测试请打开浏览器禁止缓存 Notice:再使用前,请打开浏览器 F12 然后网络 然后点禁用缓存,避免nginx配置后磁盘缓存的情况。而且,请确认host没问题。 备注:你本地设置的host对服务器反向代理后的就没用了 一、介绍 概述 Nginx是lgor…

学习Nginx,看完这篇超详细的文章就够了

目录 本文简介一、Nginx的基本概念1.1、Nginx是什么?1.2、Nginx能帮助我们做些什么?1.3、Nginx的特性 二、Nginx的安装2.1、环境介绍2.2、安装Nginx2.3、Docker安装运行Nginx 三、Nginx的常用命令介绍3.1、操作Nginx【Centos6和7通用】3.2、命令总结 四、…

html img调用js,html调用js变量 如何在html中输出js文件中的变量

html页面代码中怎么调用js变量?html页面代码中怎么调用js变量,例如 在html代码中插入js代码: a=取浏览你把index1.js 中的onReady 去掉,把index1.js改成 function index1() { 请确定他们在一个文件夹下,然后就可以直接调用了 直接把两段代码合并 。 希望能给你帮助。 要实现…

如何在html中使用js

1.使用script标签&#xff0c;将js代码写入标签(html和js没有分离) 在 HTML 中&#xff0c;JavaScript 代码必须位于 <script> 与 </script> 标签之间。 <script>console.log(Number.MAX_VALUE)var s hello worldvar n 10var u undefinedvar l nullvar …

html中script相互调用,HTML调用JavaScript

仅使用HTML和CSS创建动态网页很困难。例如&#xff0c;仅使用CSS是无法很好完成下拉菜单和滑入式页面的&#xff0c;这是一项很难的技术。此时就需要使用JavaScript&#xff0c;那么如何在HTML中调用JavaScript&#xff1f;下面本篇文章就来给大家介绍一下在HTML中调用JavaScri…

html5文档加载前调用函数,html调用javascript外部文件显示函数未定义

在html的head标签中调用了外部js文件&#xff0c;路径没有错&#xff0c;浏览器中也没有报错。但是触发事件调用函数的时候却显示loginWarm函数未定义。怎么回事&#xff0c;查了很久都没有一个正确的解决办法 οninput"setCustomValidity();" οnchange"loginW…

html引入css js,html中如何调用css和js?

html中如何调用css和js&#xff1f;下面本篇文章就来给大家介绍一下在html中调用css和js的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。 在HTML中调用css的方法 行内样式 在HTML标签的style属性中设定CSS样式 行内样式 内嵌式…