当前位置: 首页 > news >正文

Nginx笔记(一)

一、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,希望对你有所帮助。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 在Mac M1上面使用Dockerfile打x86_64镜像
  • nng协议nni_taskq_sys_init(void) 对nni_taskq_systq 初始化
  • Python从0到100(四十三):数据库与Django ORM 精讲
  • LeetCode 129, 133, 136
  • 鸿蒙界面开发
  • Redis 主从搭建
  • 过滤出List集合的元素是Person对象,过滤出每个元素非null的name字段得到String类型的集合
  • vue侦听器(Watch)精彩案例剖析一
  • Redission中的Lua脚本写法、理解
  • Python面试题:Python中的单例模式及其实现
  • 基于单片机控制的锂电池充电和保护系统研究
  • 项目实战二
  • 利用Java调用人脸身份证比对接口
  • Prometheus监控Elasticsearch
  • 聚观早报 | Meta将推出新款AR眼镜;iPhone SE 4将升级显示屏
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 2019.2.20 c++ 知识梳理
  • ERLANG 网工修炼笔记 ---- UDP
  • in typeof instanceof ===这些运算符有什么作用
  • Java读取Properties文件的六种方法
  • Java多态
  • js递归,无限分级树形折叠菜单
  • nodejs:开发并发布一个nodejs包
  • 不上全站https的网站你们就等着被恶心死吧
  • 大整数乘法-表格法
  • 如何合理的规划jvm性能调优
  • 设计模式(12)迭代器模式(讲解+应用)
  • 算法之不定期更新(一)(2018-04-12)
  • 提醒我喝水chrome插件开发指南
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • ​io --- 处理流的核心工具​
  • ​字​节​一​面​
  • #1015 : KMP算法
  • #13 yum、编译安装与sed命令的使用
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (12)目标检测_SSD基于pytorch搭建代码
  • (9)STL算法之逆转旋转
  • (pycharm)安装python库函数Matplotlib步骤
  • (层次遍历)104. 二叉树的最大深度
  • (二)fiber的基本认识
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm教材管理系统 毕业设计 011229
  • (几何:六边形面积)编写程序,提示用户输入六边形的边长,然后显示它的面积。
  • (六)c52学习之旅-独立按键
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十)Flink Table API 和 SQL 基本概念
  • (十一)图像的罗伯特梯度锐化
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .net SqlSugarHelper
  • .net后端程序发布到nignx上,通过nginx访问
  • .NET建议使用的大小写命名原则
  • .net连接MySQL的方法
  • .py文件应该怎样打开?
  • .stream().map与.stream().flatMap的使用
  • //解决validator验证插件多个name相同只验证第一的问题