Nginx从入门到精通速成

文章目录

  • 一. **Nginx** **的简介**
    • 1.1 什么是 **nginx**
    • 1.2 正向代理
    • 1.3 反向代理
    • 1.4 **负载均衡**
    • 1.5 动静分离
  • 二. **Nginx** **的安装**
  • 三. **Nginx** **的常用的命令**
  • 四. **Nginx** **的配置文件**
  • 五. **Nginx** **配置实例**反向代理实例**1**
    • 5.1 实现效果
    • 5.2 准备工作
    • 5.3 **实验代码**
  • 六 . **Nginx** **配置实例-反向代理实例** **2**
  • 七. **Nginx** **配置实例**负载均衡
  • 八. **Nginx** **配置实例动静分离**
  • 九 . **Nginx** **配置高可用的集群**
  • 十 . **Nginx** **的原理**

一. Nginx 的简介

1.1 什么是 nginx

Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50000 个并发连接数。

1.2 正向代理

需要在客户端配置代理服务器进行指定网站访问

1.3 反向代理

暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。

1.4 负载均衡

增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡

1.5 动静分离

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。

二. Nginx 的安装

1、准备工作

(1)打开虚拟机,使用远程连接工具连接 linux 操作系统

(2)到 nginx 官网下载软件

http://nginx.org/

2、开始进行 nginx 安装

(1)安装 pcre 依赖

第一步 联网下载 pcre 压缩文件依赖

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

第二步 解压压缩文件

使用命令 tar –xvf pcre-8.37.tar.gz

第三步./configure完成后,回到 pcre 目录下执行 make,最后执行 make install

(2)安装 openssl 、zlib 、 gcc 依赖

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

**(**3)安装 nginx

使用命令解压

./configure

make && make install

进入目录 /usr/local/nginx/sbin/nginx 启动服务

windows 系统中访问 linux nginx,默认不能访问的,因为防火墙问题

**(**1)关闭防火墙

**(**2)开放访问的端口号,80 端口

查看开放的端口号

firewall-cmd --list-all

设置开放的端口号

firewall-cmd --add-service=http –permanent

firewall-cmd --add-port=80/tcp --permanent

重启防火墙

firewall-cmd –reload

三. Nginx 的常用的命令

四. Nginx 的配置文件

五. Nginx 配置实例反向代理实例1

5.1 实现效果

实现效果:使用 nginx 反向代理,访问 www.123.com 直接跳转到 127.0.0.1:8080

5.2 准备工作

**(**1)在 liunx 系统安装 tomcat,使用默认端口 8080

tomcat 安装文件放到 liunx 系统中,解压

进入 tomcat 的 bin 目录中,./startup.sh 启动 tomcat 服务器

**(**2)对外开放访问的端口

firewall-cmd --add-port=8080/tcp --permanentfirewall-cmd –reload

查看已经开放的端口号

firewall-cmd --list-all

**(**3)在 windows 系统中通过浏览器访问 tomcat 服务器

5.3 实验代码

  1. 启动一个 tomcat,浏览器地址栏输入 127.0.0.1:8080,出现如下界面

  1. 通过修改本地 host 文件,将 www.123.com 映射到 127.0.0.1

配置完成之后,我们便可以通过 www.123.com:8080 访问到第一步出现的 Tomcat 初始界面。那么如何只需要输入 www.123.com 便可以跳转到 Tomcat 初始界面呢?便用到 nginx的反向代理。

  1. 在 nginx.conf 配置文件中增加如下配置

如上配置,我们监听 80 端口,访问域名为 www.123.com,不加端口号时默认为 80 端口,故访问该域名时会跳转到 127.0.0.1:8080 路径上。在浏览器端输入 www.123.com 结果如下:

六 . Nginx 配置实例-反向代理实例 2

七. Nginx 配置实例负载均衡

八. Nginx 配置实例动静分离

九 . Nginx 配置高可用的集群

十 . Nginx 的原理

1、mater 和 worker

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

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

相关文章

织梦云端:网络信号原理的艺术解码

hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之《织梦云端:网络信号原理的艺术解码》,在这篇文章中,你将会学习到网络信号原理以及应用,并且我会给出源码进行剖析,以及手绘UML图…

道可云元宇宙每日资讯|《元宇宙医学》创刊

道可云元宇宙每日简报(2024年5月6日)讯,今日元宇宙新鲜事有: 《元宇宙医学》创刊 4月25日至28日,第19届国际呼吸病研讨会(ISRD)暨第3届国际元宇宙医学协会(IAMM)联合会议…

Elasticsearch:使用 MongoDB connector 同步数据到 Elasticsearch

MongoDB 是一个基于分布式文件存储的数据库。由 C 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。Elasticsearch 是一个高效强…

速卖通卖家Tips:从入驻平台到开店费用

速卖通(AliExpress)不仅是全球最大的出口B2C平台之一,也是无数中小企业出海的跳板。了解速卖通开店流程、入驻条件,以及如何有效经营你的在线店铺,是你成功的关键第一步。 入驻速卖通并不是一个复杂的过程&#xff0c…

Windows Server 2019虚拟机安装

目录 第一步、准备工作 第二步、部署虚拟机 第三步、 Windows Server 2019系统启动配置 第一步、准备工作 下载Windows Server 2019系统镜像 官网下载地址:Windows Server 2019 | Microsoft Evaluation Center VMware Workstation 17下载地址: 链…

Python机器学习项目开发实战:在数据分析竞赛平台遴选最佳算法模型

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python机器学习项目开发实战-在数据分析竞赛平台遴选最佳的算法模型-编程案例实例教程.pdf 1、详细阐述 在Python机器学习项目开发实战中,数据分析竞…

excel如何将多列数据转换为一列?

这个数据整理借用数据透视表也可以做到: 1.先将数据源的表头补齐,“姓名” 2.点击插入选项卡,数据透视表,在弹出对话框中,数据透视位置选择 现有工作表,(实际使用时新建也没有问题)…

Spring的基本应用

概述:Spring是由Rod Johnson组织开发的一个分层的java SE/EE一站式的轻量级开源框架,以IOC(控制反转)和AOP(面向切面)为核心,的开发模式。 注:喜欢的朋友可以关注公众号“JAVA学习课堂”系统学习相关技术&a…

Python自动化实战 —— 使用Selenium进行Web自动化!

为了完成一项重复的任务,你需要在网站上进行大量的点击和操作,每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中,我们将会介绍如何使用Python的Selenium库进行Web自动化,以及如何将它应…

学习和分析各种数据结构所要掌握的一个重要知识——CPU的缓存利用率(命中率)

什么是CPU缓存利用率(命中率),我们首先要把内存搞清楚。 硬盘是什么,内存是什么,高速缓存是什么,寄存器又是什么? 我们要储存数据就要运用到上面的东西。首先里面的硬盘是可以无电存储的&#…

在项目中使用redisTemplate向redis添加hash类型数据

//首先注入redisTemplate Autowired private RedisTemplate<String, Object> redisTemplate;//获取hash类型的ops HashOperations<String, String, Object> stringObjectObjectHashOperations redisTemplate.opsForHash(); //创建一个一个map并将一个对象的属性拆…

六、yolov8 tensorRT c++语义分割推理(保姆级教程附源码)

yolov8推理流程简单概括: 初始化引擎——>图片预处理——>前向处理——>后处理。 其中: 1、初始化引擎包括: IRuntime* runtime = nullptr; ICudaEngine* engine = nullptr; IExecutionContext* context = nullptr;2、图片预处理resize图片尺寸到指定尺寸; 3…

006 springCloudAlibaba seata

文章目录 undo_log.sqlproduct.sqlmyorder.sqlseata-server-1.5.2application.yml nacos配置列表Data ID: orderServer-dev.yamlData ID:productServer-dev.yamlDataID:gatewayServer-dev.yamlData ID: seataServer gatewayServerGatewayServerApplication.javaServletInitiali…

快速修改禅道系统的管理员密码

目录 通过 web 登录页面忘记密码&#xff08;推荐&#xff09;通过数据库&#xff0c;修改 zt_user 表 通过 web 登录页面忘记密码&#xff08;推荐&#xff09; 只能修改管理员密码。 打开禅道地址&#xff0c;点击忘记密码会显示下面的页面&#xff1a; 根据提示在服务器的相…

LeetCode 字符串专题——KMP算法_28. 找出字符串中第一个匹配项的下标

字符串专题——KMP算法 KMP算法例题 KMP算法 待更新 例题 https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/ class Solution {vector<int> next;void getNext(string s){int j-1;next[0]-1;int lens.size();for(int i…

【busybox记录】【shell指令】shuf

目录 内容来源&#xff1a; 【GUN】【shuf】指令介绍 【busybox】【shuf】指令介绍 【linux】【shuf】指令介绍 使用示例&#xff1a; 打乱内容 - 默认输出 打乱内容 - 最多输出n行 打乱内容 - 将输出写入文件 打乱内容 - 重复输出 打乱内容 - 打乱本条指令的参数 打…

并发控制互斥笔记

整理总结自蒋炎岩老师的b站课程&#xff0c;https://jyywiki.cn/OS/2022/index.html 多处理器系统中数据的一致性和互斥访问 所有的CPU的一级缓存都是连着的&#xff0c;如果是多个CPU的话&#xff0c;用在内存中放置标志位&#xff0c;来保证对当前内容的原子性读取&#xff0…

minio getPresignedObjectUrl(GetPresignedObjectUrlArgs args)如何使用

在MinIO Java SDK中&#xff0c;getPresignedObjectUrl 方法现在接受一个 GetPresignedObjectUrlArgs 对象作为参数&#xff0c;这个对象允许你更加灵活地配置生成预签名URL的行为。以下是使用这个方法的一个示例&#xff1a; 首先&#xff0c;确保你已经添加了MinIO Java SDK…

第六代移动通信介绍、无线网络类型、白皮书

关于6G 即第六代移动通信的介绍&#xff0c; 图解通信原理与案例分析-30&#xff1a;6G-天地互联、陆海空一体、全空间覆盖的超宽带移动通信系统_6g原理-CSDN博客文章浏览阅读1.7w次&#xff0c;点赞34次&#xff0c;收藏165次。6G 即第六代移动通信&#xff0c;6G 将在5G 的基…

经常发文章的你是否想过定时发布是咋实现的?

前言 可乐他们团队最近在做一个文章社区平台,由于人手不够,前后端都是由前端同学来写。后端使用 nest 来实现。 某一天周五下午,可乐正在快乐摸鱼,想到周末即将来临,十分开心。然而,产品突然找到了他,说道:可乐,我们要做一个文章定时发布功能。 现在我先为你解释一…