2023-04-24 Nginx基本使用

news2024/11/25 5:05:56

Nginx

文章目录

    • Nginx
      • 1.Nginx安装
      • 2.Nginx命令
      • 3.静态资源
        • 3.2 解决403问题
        • 3.3 root与alias区别
      • 4.反向代理/负载均衡
        • 4.1 正向代理
        • 4.2 反向代理
        • 4.3 负载均衡策略
      • 5.动静分离

1.Nginx安装

1.上传解压Nginx压缩包

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RdA2DgTO-1682321768332)(F:\学习\java笔记文件\个人笔记\img\1637805691463.png)]

2.先安装所需依赖包

yum -y install pcre-devel

yum -y install openssl openssl-devel

3.执行编译安装命令

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

执行完毕后

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Y7K5oWB-1682321768334)(F:\学习\java笔记文件\个人笔记\img\1637806062465.png)]

4.最后执行编译安装命令

make && make install

安装成功后 /usr/local/nginx目录下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HHsth2zd-1682321768335)(F:\学习\java笔记文件\个人笔记\img\1637806350914.png)]

5.启动nginx服务进行查看

nginx的配置文件为 nginx.conf

2.Nginx命令

在sbin目录下执行

  • nginx -h:查看帮助
  • nginx -v:查看nginx的版本
  • nginx -V:查看版本和nginx的配置选项
  • nginx -t:测试配置文件的正确性
  • Nginx -T: 测试配置文件,并显示配置文件(这个命令可以快速查看配置文件)
  • nginx -q:测试配置文件,但是只显示错误信息
  • nginx -s:发送信号,下面详细介绍
  • nginx -p:设置前缀
  • nginx -c:设置配置文件
  • nginx -g:附加配置文件路径

运维命令:

./nginx  #启动

./nginx -s stop   或 ./nginx -s quit   #停止

./nginx -s reload  #重启服务

3.静态资源

3.1 Server块

listen  #代表nginx要监听的端口

server_name  #代表nginx要监听的域名

location #nginx拦截路径的匹配规则

nginx 的 403 Forbidden errors 表示你在请求一个资源文件但是nginx不允许你查看。 403 Forbidden 只是一个HTTP状态码,像404,200一样不是技术上的错误

3.2 解决403问题

  • 为了保证文件能正确执行,nginx既需要文件的读权限,又需要文件所有父目录的可执行权限,例如,当访问/usr/local/nginx/html/image.jpg时,nginx既需要image.jpg文件的可读权限,也需要/, /usr,/usr/local,/usr/local/nginx,/usr/local/nginx/html的可以执行权限.解决办法:设置所有父目录为755权限

  • 注意nginx的配置文件 user nobody改成user root

  • 关闭Linux中的seLinux 并重启服务器

3.3 root与alias区别

alias与root的区别,root与alias主要区别在于nginx如何解释location后面的uri,这使两者分别以不同的方式将请求映射到服务器文件上。

root

/myPage/member

		location /member {

        root /myPage;
      }
      #当请求http://192.168.25.1/member/时,会返回 /myPage/member文件,即用/myPage 加上 /member。

alias

 		location /member {

        alias /myPage;
      }
      #当请求http://192.168.25.1时,会返回 /myPage下index配置的文件,即用/myPage替换 /member。

4.反向代理/负载均衡

4.1 正向代理

​ 正向代理服务器位于客户端和服务器之间,为了从服务器获取数据,客户端要向代理服务器发送一个请求,并指定目标服务器,代理服务器将目标服务器返回的数据转交给客户端。这里客户端需要要进行一些正向代理的设置的。

vpn

4.2 反向代理

​ 反向代理,客户端对代理是无感知的,客户端不需要任何配置就可以访问,客户端将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。

upstream配置

 upstream web1 {
		server 192.168.25.137:8080;
		server 192.168.25.138:8080;
		server 192.168.25.139:8080;
    }

server配置

 server {
		listen 80;
		server_name localhost;
		location / {
			proxy_pass http://web1;
		}
    }

4.3 负载均衡策略

Nginx负载均衡策略分为2类

内置负载均衡类

1.轮询(默认)

​ 该策略就是服务器将每个前端请求按顺序(时间顺序和排列次序)逐一分配到不同的后端服务器节点。如果后端服务器出现问题,即down掉,那么就会被自动剔除

2.ip_Hash

​ 该策略是将前端的访问IP进行hash操作,然后根据hash结果将请求分配到不同的后端服务器节点。这样会使得每个前端访问IP会固定访问一个后端服务器节点,好处是前端用户的session只在一个后端服务器节点上,不必考虑一个session存在多台服务器节点出现session共享问题

3.加权

weight=权值

​ 该策略在基本的轮询策略基础上考虑各后端服务器节点接受请求的权重,指定各后端服务器节点被轮询到的机率,主要应用于后端服务器节点性能不均的情况。

外部扩展类

1.url_hash

​ 该策略将前端请求的url地址进行hash操作,根据hash结果将请求定向到同一后端服务器节点上,后台服务器为缓存是比较有效。一般url_hash需要配合缓冲命中来使用。

2.fair策略

​ 该策略请求转发到负载最小的后端服务器节点上。Nginx通过后端服务器节点对响应时间来判断负载情况,响应时间最短的节点负载就相对较轻,Nginx就会将前端请求转发到此后端服务器节点上。

3.Sticky策略

该策略在多台服务器的环境下,为了确保一个客户端只和一台服务器通讯,它会保持长连接,并在结束会话后再次选择一个服务器,保证了压力均衡。

响应头是可以携带的

cookie nginx反向代理能够正常获取cookie 就需要 设置cookie放行

5.动静分离

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

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

相关文章

Flink+Pulsar、Kafka问题分析及方案

背景 消息队列如Kafka、Pulsar利用事务特性所提供的exactly once语义,只能在特定使用场景 consume-transform-produce 下保证,即一个事务同时包含了生产和消费,利用事务的原子性,事务中的操作包含sink端的生产和source端的offset提…

从STL的视角,了解下Map、Set、Tuple和Initializer_List的区别

📖作者介绍:22级树莓人(计算机专业),热爱编程<目前在c++阶段>——目标Windows,MySQL,Qt,数据结构与算法,Linux,多线程&…

React-Native启动页

本文将从 Android 和 IOS 两端分别详细介绍APP是如何设置名称、图标以及启动页的。 首先我们到 图标工厂 上传一张 1024x1024 的图标,然后一键生成所有尺寸的图标,下载下来供两端使用。 IOS端 设置名称 在 Xcode 中点击你的项目修改右侧 Display Name …

深入浅出MySQL——MySQL基础

文章目录 数据库基础数据库概念主流数据库服务器,数据库,表关系基本使用MySQL架构SQL语句分类存储引擎 库的操作创建数据库创建数据库案例字符集和校验规则操纵数据库 表的操作创建表查看表结构修改表删除表 数据类型数据类型分类数值类型字符串类型 表的…

【华为机考】专题突破 第一周:单调栈 739 、503 、901、84

刷题顺序参考于 《2023华为机考刷题指南:八周机考速通车》 前言 单调栈:分为单调递增和单调递减栈。(栈内元素成递增或者递减性): 单调递增栈:从栈底到栈顶数据是从大到小,即 栈内的元素从栈顶 到栈底 是递增的&#x…

react-10 函数式写法rsc,配合HOOKS钩子函数

性能优化:useMemo :用于组件性能优化(缓存计算属性,变化才执行)是通过缓存值的方式实现性能优化 useMemo(callback, array):性能优化,利用了闭包的特性,会返回一个记忆值, 通过 记…

3D线光谱共焦位移传感器在医疗领域的应用

随着社会的发展,越来越多的行业对微观物体表面形貌的观察提出了越来越高的要求。与生命健康息息相关的医疗行业就是其中之一。但是传统的显微镜只能达到聚焦区域的图像清晰,非聚焦区域图像模糊。因此,普通显微镜无法在相同景深下实现对物体表…

两大消息爆出,币圈正在响应全球“去美元化”行动

为了维持美元霸权、对全球进行收割,美联储连续加息反而拉爆了自家银行。欧美银行危机事件,让人们觉得把钱放在银行里并不安全,加密货币的去中心化本质,令币圈逆风翻盘。数据显示,比特币今年上涨了近72%,这可…

《编码——隐藏在计算机软硬件背后的语言》精炼——第12章(二进制加法器)

“I hear and I forget. I see and I remember. I do and I understand”——Confucius 人类计算二进制数的方法 我们先计算本位的结果,称为加法位;再计算是否进位,称为进位位。 搭建二进制加法器 我们用逻辑门来搭建二进制加法器。它的思想…

CHAPTER 8: 《DESIGN A URL SHORTENER》第8章 《设计一个url伸缩器》

CHAPTER 8: DESIGN A URL SHORTENER 在这一章中,我们将解决一个有趣而经典的系统设计面试问题:设计一个像tinyurl这样的网址缩短服务。 步骤1 -理解问题并确定设计范围 系统设计面试的问题是故意留下开放式的。精心设计系统中,提出澄清性问题是至关重…

HDCTF 2023 复盘

web yamiyami 当时考虑直接读的/proc/self/environ 读到flag是not_flag 就没考虑过/proc/1/environ了 然后不知道py3URL二次编码的特性,读不到源码,无从下手 做flask算pin码的题做多了,还以为pid是1的就是self,难顶 上面那种是非预期 预期是yaml反序列化 先读源码 /read?u…

产品推荐丨智慧水利行业应用终端+云平台

智慧水利是我国智慧城市建设的重要延伸,是新时代水利现代化的战略目标,贯穿于防汛抗旱减灾、水资源合理配置和高效利用、水资源和河湖健康保障等体系。随着水利技术的集成发展与场景的成熟应用,我国水利现已完成从自动化阶段到信息化阶段的过…

学习系统编程No.13【文件系统】

引言: 北京时间:2023/3/31/7:48,该篇博客在两天前本就应该产出,但是摆烂谁拦得住,所以呜呜呜!本以为欠的钱也要快还完了,没想到啊,越欠越多,烦人!但是&#…

领略未来无需远方,华为全屋智能将在AWE描绘智慧生活新图景

作者 | 曾响铃 文 | 响铃说 4月27日-30日,AWE 2023中国家电及消费电子博览会将在上海新国际博览中心举行,这是AWE展沉淀两年后的再次回归。 作为家电及消费电子领域TOP3的国际盛会,本届AWE以“智科技,创未来”为主题&#xff0…

Redis 数据存储原理

核心模块如图 1-10。 图1-10 图 1-10 Client 客户端,官方提供了 C 语言开发的客户端,可以发送命令,性能分析和测试等。 网络层事件驱动模型,基于 I/O 多路复用,封装了一个短小精悍的高性能 ae 库,全称是 …

如何写好学位论文

昨天刚提交了学位论文,今天准备来总结一下一些常用的Word写作技巧。 样式与多级列表 论文一般都会对章节条目的标题、参考文献、表格内容、题注的字体字号、行间距、段落间距等作出规定。为每一类文字设置一种样式,在写的时候直接应用样式可以方便地对全…

研报精选230421

目录 【行业230421南京证券】氢能行业:地缘政治加速绿色能源转型 【行业230421华安证券】AIGC行业研究框架与投资逻辑 【行业230421信达证券】工控行业深度报告:行业拐点将至,国产品牌加速崛起 【个股230421国信证券_华阳集团】聚焦汽车智能化…

ruoyi启动前端报错‘vue-cli-service‘ 不是内部或外部命令

解决方案: 在新项目的pack.json的文件目录,执行命令npm install 或者 cnpm install 如果报npm 不是内部命令,需要在系统配置全局的变量 在使用npm的时候,或者是通过npm下载了一些包,使用这些包的时候,有时…

LightGBM模型详解

1.背景 LightGBM 是微软开发的 boosting 集成模型,和 XGBoost 一样是对 GBDT 的优化和高效实现,原理有一些相似之处,但它很多方面比 XGBoost 有着更为优秀的表现。官方给出的这个工具库模型的优势如下: 更快的训练效率低内存使用…

全网最详细,web自动化测试窗口框架与验证码登录处理(超详细实战)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 selenium的作用域…