news 2026/2/28 23:51:06

Nginx理论学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Nginx理论学习

文章目录

    • 一、nginx相关内容
      • nginx是什么?可以实现什么功能?
      • 为什么要使用nginx?和它功能相似的APP有哪些?
      • nginx应用场景
      • nginx的架构原理
      • nginx的基本操作
        • nginx安装
        • nginx相关命令
        • Nginx相关的配置文件
        • Nginx访问方式

一、nginx相关内容

nginx是什么?可以实现什么功能?

nginx是一个http和反向代理的服务器 http服务器就是web服务器,web服务器使用nginx还是有一定缺陷的 因为nginx的轻量级导致它缺少很多的模块,没有办法满足现在的互联网 所以在现在我们一般使用的是基于nginx二层开发的web服务,例如tengine、openrusty; nginx现在最重要的是代理,nginx的代理有反向代理和正向代理 反向代理:四层代理【4层代理:使用NAT(Network Address Translation)技术,即网络地址转换】 七层代理【nginx读取并解析Http请求内容】

为什么要使用nginx?和它功能相似的APP有哪些?

#和nginx相似的有Apache IIS【微软的,IIS就相当于把你的机器变成一个服务器用来浏览网页】 Tomcat:运行JAVA的网络服务器 Lighttpd:开源Web服务器软件 openrusty:是一个基于 Nginx 与 Lua 的高性能 Web 平台#为什么我们需要使用nginx1、轻量并且高扩展 【轻量是因为它安装很快包小,高扩展是因为nginx是易读的方便开发人员二次开发使用】2、高性能和高并发 【高性能是指服务响应时间快,(CPU/处理器/内存)特别是在高并发下响应时间不会急剧增加】 【高并发是指短时间内遇到大量操作请求】3、高可靠 【高可靠性来自于其核心框架代码的优秀设计、模块设计的简单性;另外,官方提供的常用模块都非常稳定】3、占有内存少,并发能力强
#负载均衡有4中1、F5:硬件负载均衡;因为是硬件所以各方面表现是非常好的2、LVS:只支持四层的负载均衡,就是NAT技术,需要用在硬件环境中,和云环境是不兼容的,所以现在基本很少使用了,它的重点在于四种工作模式:dr:直接路由模式;tun:隧道模式;nat:路由转发模式;fullnat模式3、nginx:生态最好的,支持四层和七层,早期的时候默认只支持四层4、HAproxy:高可用代理,七层代理上比nginx具有更灵活的策略

nginx应用场景

nginx的架构原理

多进程模型

进程是操作系统资源分配到最小的单位,因为CPU数量是有限的,多个进程通过分配的时间获取CPU的使用权限

nginx采用master-worker的工作机制

master负责工作进程的配置加载、启停等相关的操作

worker负责处理具体的请求

worker之间是独立的,每一个工作进程处理多个连接

每一个连接有一个工作进程全权处理,不进行进程的切换,这样就不会产生进程切换导致的资源消耗问题

共享内存允许多个进程访问同一个内存地址,一个进程改变了内容之后,其他的进程可以使用改变了之后的内容

worker工作原理

模块化

1、核心模块 cron 提供的是nginx服务的基本功能,例如nginx的进程管理、CPU亲缘性、内存管理、配置文件和日志功能

2、事件模块: 负责进行连接处理

3、Http模块:提供Http处理的核心功能和部分功能模块

4、mail模块 提供邮件代理

5、Stream模块 提供TCP/UDP会话代理和负载的功能

6、upstream模块 提供七层代理和负载均衡的功能

nginx的基本操作

nginx安装

可以使用三种方式进行安装

1、源码安装

2、官方源安装 版本较新

3、epel源安装 版本比较低

#安装之前都是需要进行安装运行环境的yuminstall-y gcc gcc-c++ autoconf pcre pcre-devel zlib-devel openssl-develmake automakewgethttpd-toolsvimtree#使用官方源安装的,必须要有官方源配置# vim /etc/yum.repos.d/nginx.repo[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true
nginx相关命令
启动服务 nginx有两套管理方案1)自带的 启动nginx nginx 关闭nginx nginx -s stop 重载 nginx -s reload 测试语法 nginx -t 查看版本 nginx -v 查看携带模块及功能(源码安装的配置参数) nginx -V#systemd托管(建议)systemctl start|stop|restart|reload|status nginx 不能重叠使用#查看端口占用ss -lntp|grep:80netstat-lntp|grep:80 -l listen 侦听 -n 以数字方式显示,不做反向解析,提供查询效率 -t tcp -p 进程lsof-i:80#查看服务状态systemctl status nginx#查看进程状态psaux|grep[n]ginx
Nginx相关的配置文件
#配置文件路径:主配置文件 /etc/nginx/nginx.conf 整个配置文件是以区块的形式组织的。一般,每个区块以一对大括号{}来表示开始与结束 子配置文件(配置站点)/etc/nginx/conf.d/*.conf 配置文件 Nginx的站点配置文件/etc/nginx /etc/nginx/nginx.conf /etc/nginx/conf.d /etc/nginx/conf.d/default.conf 配置文件 Scgi、Fastcgi、Uwcgi配置文件 /etc/nginx/fastcgi_params /etc/nginx/scgi_params /etc/nginx/uwsgi_params 配置文件 Nginx编码转换映射文件 /etc/nginx/win-utf /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/mime.types 配置文件 http协议的Content-Type与扩展名 /usr/lib/systemd/system/nginx.service 配置文件 配置系统守护进程管理器 /etc/logrotate.d/nginx 配置文件 Nginx日志轮询,日志切割 Nginx终端管理命令 /usr/sbin/nginx /usr/sbin/nginx-debug 命令 目录 Nginx模块目录 /etc/nginx/modules /usr/lib64/nginx /usr/lib64/nginx/modules 目录 Nginx默认站点目录 /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html Nginx的帮助手册 /usr/share/doc/nginx-1.12.2 /usr/share/man/man8/nginx.8.gz /var/cache/nginx 目录 Nginx的缓存目录 /var/log/nginx 目录 Nginx的日志目录
Nginx访问方式

1.通过服务器的IP直接访问(不推荐)

2.通过假域名方式访问(推荐方式)

Windows修改 C:\Windows\System32\drivers\etc\hosts

10.0.0.7 game.tf.com

3.使用ping命令测试域名解析是否正常

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/28 22:20:50

Http概述

文章目录Web基础-HTTP1、什么是项目2、什么是架构?3、架构所需关键词4、什么是集群?5、什么是负载均衡?6、http概述6.1、Web状态访问码6.2、Web的结构组成6.3、有哪些Web资源?6.4、HTTP的工作原理6.5、HTTP请求响应6.6、HTTP相关术…

作者头像 李华
网站建设 2026/2/26 19:54:13

线性系统(非线性系统)

线性系统(非线性系统) 若任意x(t)–系统–>y(t) ,则有ax(t)–系统–>ay(t)x1(t)–系统–>y1(t) x2(t)–系统–>y2(t) > x1(t) x2(t) --系统–> y1(t) y2(t)同时满足12 则是线性系统 齐次性 叠加性线性系统举例&#…

作者头像 李华
网站建设 2026/2/20 23:10:09

LaTeX公式转换终极指南:从网页到Word的完整解决方案

在学术写作和科研工作中,LaTeX公式与Word文档的格式转换一直是研究人员面临的常见挑战。传统方法需要手动重新输入复杂的数学表达式,不仅耗时费力,还容易引入错误。LaTeX2Word-Equation作为一款专业的Chrome扩展工具,完美解决了这…

作者头像 李华
网站建设 2026/2/21 8:25:36

飞书文档批量导出神器:跨平台高效备份解决方案

飞书文档批量导出神器:跨平台高效备份解决方案 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 在数字化办公日益普及的今天,企业文档管理面临着前所未有的挑战。当公司从飞书切换到其他办公…

作者头像 李华
网站建设 2026/2/28 15:18:52

【MediaPipe的手势识别系统】

上图先 import sys import cv2 import logging import mediapipe as mp import numpy as np from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QVBoxLayout, QHBoxLayout, QWidget, QTextEdit, QPushButton from PyQt5.QtGui import QImage, QPixmap, QFont f…

作者头像 李华
网站建设 2026/2/27 19:08:44

HiveSQL 中的集合运算详解

在大数据分析过程中,整合多源数据的需求十分常见,此时集合运算发挥着关键作用。本文将重点介绍HiveSQL中的集合运算方法,助力数据分析师高效完成复杂的数据整合工作。为什么需要集合运算?假设你手头有来自多个业务系统的用户数据&…

作者头像 李华