nginx的开始(一)---nginx的安装

news2024/11/19 14:54:12

在这里插入图片描述

文章目录

    • 1.nginx是什么?
    • 2.nginx安装
      • 2.1.安装准备:
      • 2.2.进行安装:
        • 2.2.1.apt安装(快速)
        • 2.2.2.源码安装
      • 2.3.配置文件简解(nginx.conf)

1.nginx是什么?

Nginx(发音为"engine-x")是一个开源的高性能、轻量级的Web服务器和反向代理服务器。它由Igor Sysoev于2004年创建,并在2005年首次公开发布。Nginx最初是为解决C10K问题(即同时处理数万个并发连接)而设计的,因此在处理高并发请求时表现出色。

Nginx的主要特点包括以下几个方面:

高性能:Nginx使用事件驱动的架构和异步非阻塞处理模型,能够有效地处理大量并发连接和高流量的请求,具有很低的内存消耗。

反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发到后端的多个服务器上。通过负载均衡和动态请求路由,Nginx可以提供高可用性和可扩展性。

静态文件服务:Nginx可以高效地提供静态文件的服务,包括HTML、CSS、JavaScript、图像和视频等。通过Nginx的静态文件缓存功能,可以显著提高静态资源的访问速度。

SSL/TLS支持:Nginx支持SSL/TLS协议,可以进行加密通信和安全传输数据。它可以配置和管理HTTPS站点,并提供了各种加密协议和密码套件的选项。

轻量级和模块化:Nginx具有小巧且高效的设计,核心功能集中在核心模块中,其他功能以模块的形式添加。这种模块化的结构使得Nginx易于扩展和定制,可以根据需要选择所需的功能模块。

由于其高性能、稳定性和可靠性,Nginx被广泛应用于各种场景,包括Web服务器、负载均衡器、反向代理、缓存服务器、流媒体服务器等。它已成为互联网上最受欢迎的服务器软件之一,并得到了众多大型网站和应用程序的采用。

2.nginx安装

2.1.安装准备:

1.一台linux主机(建议使用乌班图)

在这里插入图片描述
选市场占有率最高的总没问题的。
centos?不好意思,真不熟。(不好好做建议可以不做(dog))

2.2.进行安装:

2.2.1.apt安装(快速)

  1. 更新软件包
sudo apt update
  1. 安装nginx
sudo apt install nginx

一般安装完会自动运行,可以通过命令查询运行状态

service nginx status

在这里插入图片描述
*3. 设置为开机自启

sudo systemctl start nginx

2.2.2.源码安装

参考文章

  1. nginx的详细配置(博客园)
  1. 下载源码
wget https://nginx.org/download/nginx-1.24.0.tar.gz
  1. 解压
tar -zxvf nginx-1.24.0.tar.gz
  1. 配置参数和编译
cd nginx-1.24.0/

配置和编译

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

若缺少相应依赖对应安装即可

make
sudo make install

4.运行nginx

sudo /usr/local/nginx/sbin/nginx

2.3.配置文件简解(nginx.conf)

  1. worker_processes: 指定 Nginx 运行的 worker 进程数,通常设置为 CPU 核心数或者更高的值,以充分利用服务器资源。

  2. events: 配置 Nginx 的事件模型,用于处理客户端连接和网络事件。常见的参数包括 worker_connections(每个 worker 进程能够同时处理的最大连接数)和 use(指定事件驱动模块,如 epoll 或 kqueue)。

  3. http: 定义 HTTP 配置块,包含全局的 HTTP 相关配置,如日志设置、默认字符集、MIME 类型等。

  4. server: 定义虚拟主机(server)配置块,用于配置单个网站或应用程序。一个 Nginx 实例可以有多个 server 块,用于处理不同的域名或端口。

  5. location: 定义请求匹配规则和相应的处理逻辑。可以根据 URI 路径或其他条件进行匹配,并指定如何处理匹配到的请求,如转发到后端服务器、返回静态文件等。

  6. proxy_pass: 在 location 配置块中使用,用于将请求转发给后端的代理服务器。

  7. root: 设置请求的根目录,用于指定服务静态文件的存放位置。

  8. index: 设置默认的索引文件,当客户端请求的是一个目录时,服务器将尝试返回这些文件之一。

  9. try_files: 在 location 配置块中使用,指定 Nginx 在处理请求时尝试的文件或路径。用于处理静态文件请求时的重定向或错误处理。

  10. rewrite: 用于重写 URL,可以将请求的 URL 进行修改或重定向。

  11. gzip: 启用或配置 Gzip 压缩,用于减小传输数据的大小,提高性能。

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

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

相关文章

AndroidT(13) init 进程 -- first stage init 的初始化 (二)

1.概览 第一阶段的 init 工作主要用于读取系统启动阶段需要的配置信息(例如 linux的bootconfig,cmdline等配置信息)、挂载文件系统、安装 kernel 中的模块驱动,最后就是启动第二阶段的 init 来进行 Android 系统相关的组件。第一阶段的 init …

《微服务实战》 第三十章 分布式事务框架seata TCC模式

前言 本章节介绍分布式事务框架seata TCC模式,上一章节介绍seata以及集成到Springboot、微服务框架里。 1、TCC模式 一个分布式的全局事务,整体是 两阶段提交 的模型。全局事务是由若干分支事务组成的,分支事务要满足 两阶段提交 的模型要…

如何利用ChatGPT写毕业论文

如何利用ChatGPT写毕业论文 ChatGPT是什么?利用ChatGPT写毕业论文的步骤1.准备数据2.训练模型3.生成论文4.检查论文 总结地址 ChatGPT是什么? ChatGPT是一个基于GPT-2模型的开源聊天机器人,它可以回答用户的问题,进行闲聊和提供各…

或许是一个新的算法方向?

动动发财的小手,点个赞吧! 今日谷歌 DeepMind 使用深度强化学习发现更快的排序算法,相关论文[1]成果已经发表在Nature上。 据报道:该算法可以提速 70%,相比之下,快了3倍之多。 摘要 排序或散列等…

230611-通过Doxygen实现项目代码的文档自动化生成(Mac+Win通用)

背景介绍 目前主流的Python项目的文档管理多通过Sphinx实现;当前Sphinx尚未有针对C#等代码的插件;若想对C#的项目代码进行Sphinx的管理,可通过Doxygen导出为xml文件,进行二次转换;有关Doxygen的介绍及使用&#xff0c…

Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例

Java使用Opencv进行大图找小图并使用其找图功能进行bilibili视频下载案例 一、Opencv大图找小图说明二、Opencv的window安装1.下载windows下的安装包2.安装3.Java中Opencv加载测试 三、Java中通过Opencv进行模板匹配大图找小图四、进行多图查找五:案例下载bilibili视…

碳排放预测模型 | Python实现基于机器学习回归分析的碳排放预测模型——随机森林、决策树、KNN 和多层感知器 (MLP) 预测分析

文章目录 效果一览文章概述研究内容环境准备源码设计KNNRandom ForestDecision TreeMLPModel Evaluation学习总结参考资料效果一览

【Android开发基础】随机点名系统(关于读取xml资源文件)

文章目录 一、引言二、设计1、读取xml2、下拉框Spinner3、随机算法 三、实施1、子元素随机(单位:班级)2、父元素随机(单位:专业)3、指定人数随机4、指定人数混合排序 四、附件 一、引言 描述:这…

【手撕MyBatis源码】动态SQL全流程解析

文章目录 动态SQL概述ifchoose(when、otherwise)trim(where、set)foreach OGNL表达式BoundSql动态SQL主流程分析SqlNodeDynamicContext源码解析StaticTextSqlNodeTextSqlNodeIfSqlNodeChooseSqlNodeForEachSqlNode 动态脚本结构动态脚本执行 SqlSourceSt…

Spring Cloud - Eureka原理、注册、搭建、应用(全过程详解)

目录 一、Eureka 注册原理 1.1、为什么要使用 Eureka 1.2、Eureka 的工作流程及原理 1.3、eureka 的作用 二、具体实现 2.1、搭建注册中心 2.2、服务注册和部署 2.2.1、user-service 服务注册 2.2.2、服务部署 2.2.3、order-service 服务注册 2.2.4、验证服务 2.3、…

java SSM 药品集中管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java SSM 药品集中管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采…

[神经网络]迁移学习-微调

一、概述 一般的有监督迁移学习分为以下三种: ①将训练好的模型作为特征抽取模块(例如以resnet进行特征提取) ②在一个相关的任务中训练后直接后直接使用(例如gpt) ③在训练好的模型基础上进行微调 此外还有无监督学习的方式 zero-shot&#…

【集群】LVS+Keepalived群集

文章目录 前言一、Keepalived的概念1. Keepalived 概述2. Keepalived 作用3. Keepalived 实现原理剖析3.1 Keepalived 工作原理3.1 VRRP协议(虚拟路由冗余协议) 4. Keepalived 主要模块及其作用4.1 健康检查方式(学名:探针&#x…

【架构基础】正交设计四原则

数学中的正交,是指相互垂直的两个向量,简单来讲就是平面上的两个垂直线段,其中一个线段变长或减短或者转圈圈,另外一根是不变的也不影响它们的垂直度的。表现为空间的独立性,在软件中我们可以理解为两个只有交叉点而互…

springboot0+java+vuie个人家庭财务理财系统

。本文介绍了个人理财系统的开发全过程。通过分析个人理财系统管理的不足,创建了一个计算机管理个人理财系统的方案。文章介绍了个人理财系统的系统分析部分,包括可行性分析等,系统设计部分主要介绍了系统功能设计和数据库设计。 本个人理财系…

【数据湖架构】在 Azure Data Lake Storage (ADLS)二代上构建数据湖

介绍 一开始,规划数据湖似乎是一项艰巨的任务——决定如何最好地构建数据湖、选择哪种文件格式、是拥有多个数据湖还是只有一个数据湖、如何保护和管理数据湖。并非所有这些都需要在第一天回答,有些可能通过反复试验来确定。构建数据湖没有明确的指南&am…

【C++】一文带你吃透C++多态

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 C/C专栏 🌙那些看似波澜不惊的日复一日,…

【链表part02】| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、02.07.链表相交、142.环形链表

目录 ✿LeetCode24.两两交换链表中的节点❀ ✿LeetCode19.删除链表的倒数第N个节点❀ ✿LeetCode面试题 02.07. 链表相交❀ ✿LeetCode142.环形链表||❀ ✿LeetCode24.两两交换链表中的节点❀ 链接:24.两两交换链表中的节点 给你一个链表,两两交换其…

轻骑逐单于,大雪满弓刀:华为分布式存储的一骑绝尘

唐代诗人卢纶,有一首脍炙人口的《和张仆射塞下曲》,“月黑雁飞高,单于夜遁逃。欲将轻骑逐,大雪满弓刀。”诗中的慷慨激昂,热血炙烈,千年来让无数国人心魂激荡。 时代变迁,岁月迁移,今…

LeetCode面向运气之Javascript—第20题-有效的括号-95.97%

LeetCode第20题-有效的括号 题目要求 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号…