Nginx笔记(一)

devtools/2024/9/24 0:17:09/

一、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

nginx_70">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.ppmy.cn/devtools/85281.html

相关文章

Redis使用场景---热点数据缓存

1.1 什么是缓存? 缓存(Cache)是计算机科学中的一种技术,旨在提高数据访问速度。它是一种临时存储机制,用于存储常用或近期访问的数据,以便快速访问,减少延迟 1.2 缓存的原理 1.3 什么样的数据适合放入缓…

MATLAB练习题——矩阵(2)

逻辑运算 a [5 0.2 0 -8 -0.7 ],在进行逻辑运算时,a 相当于什么样的逻辑量。 相当于 a[1 1 0 1 1] 角度运算 在 sin(x)运算中,x 是角度还是弧度? 在 sin(x)运算中,x 是弧度,MATLAB 规定所有…

弹性布局 flex layout HTML CSS

文章目录 效果图参考文档代码 效果图 其实弹性布局的好处是:当网页大小变化(如窗口resize)时,处于弹性容器(flex container)中的弹性元素(flex item) 之间的距离也会变化。 需要特别注意的是: 弹性布局的主要CSS如下。…

vue中无法调试

vue.config.js中增加 devtool configureWebpack: {name: name,resolve: {alias: {: resolve(src)}},devtool: "cheap-module-source-map" // add},然后重启即可。 顺便招聘:1.需要会日语。2.Java,JS,Vue,DB任一会者皆…

OAK-FFC 分体式相机使用入门介绍

概述 OAK FFC 主控板和多种可选配镜头模组非常适合灵活的搭建您的3D人工智能产品原型。由于镜头是分体式的,因此你可以根据需要测量的距离,自定义深度相机安装基线,并根据你的项目要求(分辨率、快门类型、FPS、光学元件&#xff…

Redis-缓存

什么是缓存? 缓存就像自行车和越野车的避震器,降低硬着陆造成的损害 缓存就是系统的避震器,,防止过高的数据访问猛冲系统,导致其操作线程无法及时处理信息而瘫痪 缓存(Cache),就是数据交换的缓冲区,俗称的缓存就是缓冲区内的数据,一般从数…

Live555源码阅读笔记:哈希表的实现(C++)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

python_合并同一个文件夹下的excel文件

python_合并同一个文件夹下的excel文件 import os import glob import pandas as pddef merge_excel_sheets(input_folder, output_file):# 创建一个空的 DataFrame 用于存储所有数据combined_data pd.DataFrame()# 获取指定文件夹内所有的 Excel 文件excel_files glob.glob…