Nginx下载安装,什么是nginx,什么是反向代理,Windows下、linux下安装nginx(保姆级教程)

文章目录

      • 一、Nginx简介
          • 为什么要使用Nginx
          • Nginx的特点
          • Nginx的相关概念
            • 正向代理
            • 反向代理
            • 动静分离
            • 负载均衡
      • 二、Nginx安装
        • 1. Windows安装
        • 2. Linux安装

一、Nginx简介

Nginx 是一个高性能的 HTTP(静态资源服务器) 和 反向代理 Web 服务器。

为什么要使用Nginx

1、如果将前端项目资源也放置在 tomcat 中部署,那么访问一些前端静态资源的时候就需要访问 tomcat,增加服务器压力(本身 tomcat 服务器处理能力有限),所以我们需要一台高效的静态资源服务器

什么意思:如果将前端和后端的代码部署到一起,那么访问静态资源会走 tomcat。----> 将前端和后端代码分开部署

2、随着项目访问量的增加,tomcat 并不能满足要求(tomcat 的并发量大概在 200 左右)。这时候我们需要搭建 tomcat 集群来处理并发问题,所以我们需要一台高效的反向代理服务器

集群:1 个 tomcat 不够,n 个来凑。问题:n 个 tomcat 的端口肯定不能一样(除非搞 n 台机器),所以我们这里说的是:伪集群(一个机器上搞多个 tomcat),但是对于客户来说,我应该访问哪个端口呢?----> 需要 Nginx

Nginx的特点
  • 稳定性强,可以实现 7*24 不间断运行
  • 提供简洁、直观的配置
  • 占用内存小,并发能力强
Nginx的相关概念
正向代理

一个位于 客户端 和 原始服务器 之间的服务器。为了从 原始服务器 中取得内容,客户端 向 代理 发送一个请求并指定目标(原始服务器),然后 代理 向 原始服务器 转交请求 并将获得的内容返回给客户端。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

反向代理

反向代理位于用户与目标服务器之间。

对于用户:反向代理服务器就相当于目标服务器。即:用户直接访问反向代理服务器就可以获得目标服务器的资源。(用户不需要知道目标服务器的地址,也无须在用户端作任何设定)

在这里插入图片描述

反向代理服务器通常可用来作为 Web 加速,即使用反向代理作为 Web 服务器的前置机 来降低网络和服务器的负载,提高访问效率。

动静分离

随着前后端分离开发,可以实现前后端项目的分离部署。即:将前端项目部署到 Nginx 上直接进行访问,后端资源通过 Nginx 反向代理进行访问。

负载均衡

通过负载均衡策略,分发请求到集群中的不同 tomcat 服务器上。

二、Nginx安装

1. Windows安装

下载解压后,执行根目录下 nginx.exe 启动(不要放置含有中文的路径下,否则启动不成功),然后输入:http://localhost 访问即可。

在这里插入图片描述

2. Linux安装

1、先安装 Nginx 所需环境:

安装gcc:一般这个Linux会自带,但是最好也安装一下,怕不带
yum install -y gcc-c++

安装PCRE pcre-devel:
yum install -y pcre pcre-devel

安装zlib:
yum install -y zlib zlib-devel

安装Open SSL:
yum install -y openssl openssl-devel

2、安装 Nginx:下载地址

在这里插入图片描述

2.1 下载并解压: 将下载的 xxx.tar.gz 上传到 Linux,并解压到 /usr/local 下(这里我解压到 /usr/local/nginx 下了),解压命令:tar -zxvf nginx-1.26.0.tar.gz -C /usr/local/nginx

2.2 编译安装: 进入解压后的目录:cd /usr/local/nginx/nginx-1.26.0;然后输入命令:./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre 生成 makefile 文件;然后继续输入:make 编译;再输入:make install 安装(可以一起 make && make install 编译安装)

注意:其中生成 makefile 文件命令中的 /usr/local/nginx 路径就是 Nginx 的路径(可以改成别的路径),后面要启动 Nginx 程序就要去那启动。

2.3 启动运行: 首先进入 Nginx 的启动目录:cd /usr/local/nginx/sbin,然后:

查看Nginx版本:
./nginx -v

启动Nginx:
./nginx

停止Nginx:
./nginx -s stop

重启Nginx:
./nginx -s reload

注意:Nginx 启动后默认端口为 80,80 端口在浏览器页面可以不写。所以我们直接浏览器输入 IP 地址即可。

在这里插入图片描述

报错:假如页面加载不出来,则需要 Linux 系统开放 80 端口:

1.开放80端口,命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
2.重启防火墙:systemctl restart firewalld.service
3.重新载入配置:firewall-cmd --reload

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL锁详解

之前的博客给小伙伴们分享了java中的锁,今天我们一起来看看mysql中有什么锁吧 一、图示 二、粒度分类 2.1、全局锁: 什么是全局锁? MySQL的锁定主要分为全局锁、表锁和行锁。现在我们来看看MySQL全局锁。 MySQL全局锁是针对整个数据库的锁…

FreeRTOS之列表

1.FreeRTOS的列表和列表项十分重要。列表类相当于链表,列表项则相当于链表中的节点。列表项的地址是非连续的,列表项的数量可随时修改。在OS中的任务状态和数量会发生改变,因此使用列表可以很好的满足需求。 列表和列表项的相关定义与操作函…

网工交换基础——生成树协议(01)

一、生成树的技术概述 1、技术背景 二层交换机网络的冗余性导致出现二层环路: 人为因素导致的二层环路问题: 二层环路带来的网络问题: 生成树协议的概念: STP(Spanning Tree Protocol)是生成树协议的英文缩写。该协议可应用于在网…

vue3 -- 项目使用自定义字体font-family

在Vue 3项目中使用自定义字体(font-family)的方法与在普通的HTML/CSS项目中类似。可以按照以下步骤进行操作: 引入字体文件: 首先,确保你的字体文件(通常是.woff、.woff2、.ttf等格式)位于项目中的某个目录下,比如src/assets/font/。 在全局样式中定义字体: 在你的全局…

智慧健康旅居养老产业,做智慧旅居养老服务的公司

随着社会的进步和科技的飞速发展,传统的养老模式已经无法满足 现代老年人的多元化 需求。智慧健康旅居养老产业应运而生,成为了一种新型的养老模式,旨在为老年人提供更加舒适、便捷、安全的养老生活。随着社会的进步和人口老龄化趋势的加剧&a…

pytest数据驱动DDT

常见的DDT技术 数据结构: 列表、字典、json串 文件: txt、csv、xcel 数据库: 数据库链接 数据库提取 参数化: pytest.mark.parametrize() pytest.fixture() D…

【课程发布】软考高项目十大管理ITTO宫殿记忆法新版第四版正式发布

软考高项十大管理ITTO宫殿记忆法视频课程: 平台:荔枝微课 连接:十方教育 各位软考高级信息系统项目管理师考生好,新版第四版十大管理ITTO宫殿记忆法视频课程终于发布了,之前苦等的考生终于迎来了救星,再也…

OAuth2、JWT

文章目录 OAuth2JWT OAuth2 官网: https://oauth.net/2/ 在 RFC 6749 中说明 1、资源所有者 resource owner, 如 github 用户 2、客户端/第三方应用 client, 如 支持github 登录的 csdn 3、资源服务器 resource server, 如 4、授…

【C/C++笔试练习】OSI分层模型、源端口和目的端口、网段地址、SNMP、状态码、tcp报文、域名解析、HTTP协议、计算机网络、美国节日、分解因数

文章目录 C/C笔试练习选择部分(1)OSI分层模型(2)源端口和目的端口(3)网段地址(4)SNMP(5)状态码(6)tcp报文(7)域…

GRASSHOPPER电池Expression

Grasshopper中如果要实现简单的条件if语句的效果,可以使用电池Expression。 举例:获取两个数的差值,永远用大数减去小数

Geoserver中点击切片图层报错问题

最近想试试wmts,其中有一步需要用到切片图层 但是点击页面老是报错, 于是乎想断点,可惜代码太复杂 弃了,所以想重新部署一下新版本,结果还是报错,想着可能tomcat有缓存吧,在换个tomcat还是报错…

《QT实用小工具·四十二》圆形发光图像

1、概述 源码放在文章末尾 该项目实现了图像的发光效果,特别适合做头像,项目demo演示如下所示: 项目部分代码如下所示: import QtQuick 2.7 import QtGraphicalEffects 1.12Item {id: rootwidth: 80height: 80property int ra…

【JVM】java内存区域

目录 一、运行时数据区域 1、方法区 2、堆 3、虚拟机栈 4、本地方法栈 5、程序计数器 6、运行时常量池 二、HotSpot虚拟机的对象 1、对象的创建 指针碰撞: 空闲列表: 2、对象的内存布局 对象头 实例数据 对齐填充 3、对象的访问定位 句…

一种基于 RFID 技术的养老院人员定位解决方案

在今日的中国社会结构老龄化日趋增长,带来了一系列的社会问题。社会老龄化、高龄化、空巢化和病残化的迅速发展,将使得越来越多的老人住进养老院。养老院主要为老人提供集体居住,并具有相对完整的配套服务设施。养老院管理的最终目的就是为老…

【Qt 学习笔记】Qt常用控件 | 输入类控件 | Combo Box的使用及说明

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt常用控件 | 输入类控件 | Combo Box的使用及说明 文章编号&#xff…

张大哥笔记:普通人如何搞钱?

追求短期利润和长期价值相结合的创业方式,是我一直倡导的。短期内寻求盈利的项目进行快速变现,比如各种小风口项目,而长期项目则需保持数年乃至10年不变,比如自媒体内容输出,做有长期价值的事情! 短期项目通…

详解MySQL C API 相关接口(大白话就是:MySQL的c语言怎么写)

文章目录 1、C API 官方文档2、初始化 MYSQL3、连接 MySQL设置连接字符集(使得客户端编码方式匹配) 4、下发 mysql 指令5、获取 mysql 查询结果(保存起来)获取行与列遍历存储结果 6、释放 MYSQL\_RES 对象7、关闭 MySQL 连接8、总结 1、C API 官方文档 …

Linux安装Docker的多版本PHP和多版本MySQL共存

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

(一)Amira入门实例

1.打开Amira安装目录下的数据Foam.am图片,打开之后选择“um”选项。 2. 添加一个2D和3D显示组件,即Ortho Slice和Volume Rendering,分别为2D显示和3D显示(模块左侧绿点控制是否显示): 颜色反转之后&#xf…

C# GetField 方法应用实例

目录 关于 C# Type 类 GetField 方法应用 应用举例 心理CT设计题 类设计 DPCT类实现代码 小结 关于 C# Type 类 Type表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。调用 t…