Nginx笔记(一)

news2024/11/15 16:56:40

一、Nginx简介

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器 [13],同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,公开版本1.19.6发布于2020年12月15日。 [11]
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2022年01月25日,nginx 1.21.6发布。 [12]
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

二、Nginx入门

image.png

1、静态资源服务

通过本地文件系统提供服务

2、反向代理
  • Nginx的强大性能:我们自己开发的应用,在面临用户量逐步增加的时候,可能会需要扩容此时就需要一个方向代理服务器,把用户的请求代理到我们的应用。
  • 缓存:由于链路的增加,响应的时延会变长,所以通常我们会把一些基本不变,或者短时间能不变的数据存到nginx缓存中,从而来提高性能。
  • 负载均衡:由于我们有多个应用,我们期望将流量均匀的打倒不同的服务,所以需要负载均衡功能。
3、API服务

OpenResty:有一些场景我们需要nginx直接访问数据库、或者redis等,nginx也为我们提供了对应的能力。

三、Nginx优点

  • 高并发、高性能:能支持十万甚至百万的并发
  • 扩展性好体现在Nginx模块化设计
  • 可靠性高:Nginx可以持续不断的运行数年
  • 热部署:支持热部署,不用重启服务
  • BSD许可证:可以基于Nginx二开

image.png

四、Nginx组成

1、Nginx二进制可执行文件

该部分由各个模块源码编译组成的一个文件

2、Nginx.conf

Nginx的配置文件

3、access.log

记录了每一条http请求的信息

4、error.log

记录了错误日志

五、安装Nginx

安装Nginx有一般有两种方式,一种是基于源码编码;另一种是用其他,例如yum、docker等。我们这里基源码编译的形式来安装Nginx

1、下载源码压缩包

官网地址:http://nginx.org/en/download.html
image.png
使用wget命令下载

http://nginx.org/download/nginx-1.26.1.tar.gz

结果如下
image.png

2、解压
tar -zxvf nginx-1.26.1.tar.gz

结果如下
image.png

3、目录介绍
  • auto:存放了一些编译所需要的文件,包括类库、操作系统支持等等
  • CHANGES:版本变更记录
  • conf:配置文件
  • configure:脚本,用于生成中间文件,在编译之前需要执行
  • contrib:nginx的contrib文件夹主要用于存放开源爱好者共享的代码。‌这个文件夹包含了各种有用的脚本和工具
  • html:提供了两个标准的html文件,默认的界面、500错误等
  • man:帮助文件
  • src:nginx的源码
4、安装Nginx

首先在编译前可以查看Nginx编译支持哪些参数。

./configure --help

部分参数如下
image.png

1、先生成中间文件,这里我们指定路径为 /usr/local/nginx
 ./configure --prefix = /usr/local/nginx

image.png
很明显报错了,因为nginx的编译依赖于GCC、PCRE、ZLIB、OPENSSL环境,这里要先安装一下,命令如下

yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

image.png

重新执行刚才的命令

 ./configure --prefix = /usr/local/nginx

image.png

2、编译+安装

在上一步骤,我们完成了中间文件的生成,此时我们在执行编译和安装命令。我们可以看下生成的文件,多了一个objs文件夹,其中会有一个ngx_modules.c文件,该文件记录了哪些模块会被编译进Nginx
image.png
这里我们看一下具体会有哪些模块
image.png
接着我们继续编译和安装Nginx,执行命令 make
image.png
最后执行安装命令:make install
image.png

5、启动Nginx

进入刚才配置的目录 /usr/local/nginx
image.png
所有的脚本都放在sbin目录下,进入sbin目录
image.png
执行命令 ./nginx 执行完之后查看进程是否开启

ps -ef | grep nginx

image.png
在浏览器访问 http://ip
image.png

小结:

本文主要对Nginx做了一些简单的介绍,包括Nginx的使用场景、优点以及如何安装一个Nginx,希望对你有所帮助。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1946907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven项目容器化运行之3-优雅的利用Jenkins和maven使用docker插件调用远程docker构建服务并在1Panel中运行

一.背景 在《maven项目容器化运行之1》中,我们开启了1Panel环境中docker构建服务给到了局域网。在《maven项目容器化运行之2》中,我们基本实现了maven工程创建、远程调用docker构建镜像、在1Panel选择镜像运行容器三大步骤。 但是,存在一个问…

影视剪辑(自媒体)工具下载地址

一、资源下载网址 片库(资源较全): 中国大陆线路:https://www.btnull.nuhttps://www.btnull.nuhttps://www.btnull.inhttps://www.btnull.in 其他网址: https://www.btnull.comhttps://www.btnull.com…

Oracle export 时expdp 表顺序每次不同的

同样的expdp 200张表,expdp 的命令一样,但是export log出来的表顺序也是不同的。 expdp parallel 4 impdp parallel 8 也是可以 File Size(MB)Export ElapsedImport ElapsedAKA2865MB0:04:230:20:02imp disable constraint paral…

畅游时空|虚拟世界初体验,元宇宙游戏如何开发?

在元宇宙中,用户可以通过虚拟身份进行互动、社交、工作和娱乐,体验与现实世界平行的生活和活动。元宇宙不仅仅是一个虚拟空间,更是一个融合了虚拟和现实的生态系统,具有巨大的发展潜力和应用前景。 在不断发展的数字环境中&#x…

MySQL的账户管理

目录 1 密码策略 1.1 查看数据库当前密码策略: 1.2 查看密码设置策略 1.3 密码强度检查等级解释(validate_password.policy) 2 新建登录账户 3 账户授权 3.1 赋权原则 3.2 常见的用户权限 3.3 查看权限 3.4 赋权语法 4 实例 4.1 示例1&#x…

教学用MQTT工具的思考

前言 我在《智能物联网应用设计》课程中有个实验就是学习MQTT的使用,目前使用的是以下几个工具: 客户端使用MQTTX本地服务器使用的是mosquitto 云端服务器采用的巴法云协议分析软件采用的是Wireshark 这里Wireshark基本没有啥可以替代的,而…

【React】箭头函数:现代 JavaScript 的高效编程方式

文章目录 一、箭头函数的基本语法二、箭头函数的特性三、在 React 中的常见用法四、最佳实践 在现代 JavaScript 中,箭头函数(Arrow Functions)是一种简洁的函数表达方式,并且在 React 开发中非常常见。箭头函数不仅简化了函数的语…

Adobe国际认证详解-ae视频剪辑

AE视频剪辑,即After Effects视频剪辑,是数字媒体时代的一项重要技能。AE不仅提供了丰富的特效和动画功能,还让视频剪辑变得更加高效和有趣。对于想要在职场上脱颖而出、拓宽就业机遇的人来说,掌握AE视频剪辑技能无疑是一个明智的选…

添加动态云层

<template> <div class"topbox"> xx卫星管理 </div> <div class"selectbox"> <div class"title"> 卫星列表 </div> <el-table :data"tableData" style"width: 100%;height:230px;" …

基于 HTML+ECharts 实现的大数据可视化平台模板(含源码)

构建大数据可视化平台模板&#xff1a;基于 HTML 和 ECharts 的实现 大数据的可视化对于企业决策、市场分析和业务洞察至关重要。通过直观的数据展示&#xff0c;团队可以快速理解复杂的数据模式&#xff0c;发现潜在的业务机会。本文将详细介绍如何利用 HTML 和 ECharts 实现一…

配置SSH公钥互信

目录 第一台主机&#xff1a;servera&#xff08;172.25.250.101&#xff09; 第一步&#xff1a;查看 . ssh目录下面是否为空 第二步&#xff1a;输入命令ssh-keygen 第三步&#xff1a; 再看查看一下. ssh目录 第四步&#xff1a; 输入命令 ssh-copy-id root172.25.250…

KubeSphere核心实战_kubesphere全功能安装_启用kubesphere的热插拔插件---分布式云原生部署架构搭建037

然后我们开始安装kubesphere,首先进入官网点击kubernetes安装 可以看到对应的,条件说kubernetes要在1.20.x以上,我们的是 1.20.9,然后cpu硬件满足,然后,默认存储类型,上一节我们安装好了 然后就可以开始,去下载两个配置文件可以看到上面的两个配置文件 这两个文件,上面是直接…

【React】package.json 文件详解

文章目录 一、package.json 文件的基本结构二、package.json 文件的关键字段1. name 和 version2. description3. main4. scripts5. dependencies 和 devDependencies6. repository7. keywords8. author 和 license9. bugs 和 homepage 三、package.json 文件的高级配置1. 配置…

《Java初阶数据结构》----4.<线性表---Stack栈和Queue队列>

前言 大家好&#xff0c;我目前在学习java。之前也学了一段时间&#xff0c;但是没有发布博客。时间过的真的很快。我会利用好这个暑假&#xff0c;来复习之前学过的内容&#xff0c;并整理好之前写过的博客进行发布。如果博客中有错误或者没有读懂的地方。热烈欢迎大家在评论区…

<数据集>抽烟识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;4860张 标注数量(xml文件个数)&#xff1a;4860 标注数量(txt文件个数)&#xff1a;4860 标注类别数&#xff1a;1 标注类别名称&#xff1a;[smoking] 使用标注工具&#xff1a;labelImg 标注规则&#xff1a;对…

高三了,无计算机基础能学计算机吗?

高三阶段学习计算机编程是完全可行的&#xff0c;即使你没有任何计算机基础。我收集制作一份C语言学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向&#xff0c;包括了编程教学&#xff0c;数据处理&#xff0c;通信处理&#xff0c;技…

mysql面试(五)

前言 本章节从数据页的具体结构&#xff0c;分析到如何生成索引&#xff0c;如何构成B树的索引结构。 以及什么是聚簇索引&#xff0c;什么是联合索引 InnoDB数据结构 行数据 我看各种文档中有好多记录数据结构的&#xff0c;但是这些都是看完就忘的东西。在这里详细讲也没…

【进阶篇-Day12:JAVA中stream流、File类的介绍】

目录 1、stream流1.1 stream流的作用1.2 stream流的思想1.3 获取stream流对象1.4 stream流中间操作方法1.5 stream流终结操作方法1.6 stream收集操作1.7 stream的综合案例 2、File类2.1 File类创建文件对象2.2 File类的常用方法2.3 File类的创建和删除方法2.4 File类的遍历方法…

volatile与JMM

目录 volatile特点volatile内存语义volatile为什么可以保证可见性和有序性呢&#xff1f;内存屏障屏障分类粗分两种屏障细分四种屏障 volatile特性案例说明如何正确使用volatile总结 volatile特点 被volatile修饰的变量有2大特点&#xff1a;可见性和有序性&#xff08;禁重排…

nginx even块的配置

events 块是 Nginx 配置文件 (nginx.conf) 中的重要部分&#xff0c;用于配置与事件处理相关的参数。它主要定义了 Nginx 服务器如何处理客户端连接&#xff0c;以及控制工作进程的行为。这些配置对于优化服务器性能和稳定性至关重要。 accept_mutex 设置Nginx网络连接序列化 …