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

nginx的学习笔记

一般nginx的配置的话就是nginx.conf文件里面进行配置。

nginx的一个功能就是反向代理,然后就是负载均衡,然后就是动静分离。

我们一个个来看

反向代理我们主要看server里面的内容

我们用户进入到前端界面的时候就会触发nginx,然后里面的任何一个请求都会拿到nginx里面进行反向代理,而我们所需要配置的listen就是前端的端口,server_name是前端的ip地址,然后我们还要写localtion里面的proxy_pass 这个就是我们要映射到后端的网址了ip和端口要写完整就可以了。

一般这么写

location /api {# proxy_pass 端口后面加路径,该路径就会替换location中的路径,有/也会替换#没加路径就只替换访问路径的ip和端口proxy_pass http://101.31.7.23:8180/;}

然后我们来看看动静分离

我们在原本的基础上加上这个东西

		location / {root  /home/zcloud/applications/iomp-web; #前端部署目录index  index.html index.htm;}location /images/ {alias /home/zcloud/file/;autoindex	off;}

也就是前端加载的时候直接加载也就是我们nginx包里面的东西,一般直接显示index.html,登录界面等等。然后就是root和alias的区别

alias:将请求的URI替换为alias指定的路径。例如,如果请求为/images/logo.png,则Nginx会查找/home/zcloud/file/logo.png
root 将请求的URI直接附加到root指定的路径后面。例如,如果请求为/images/logo.png,则Nginx会查找/home/zcloud/applications/iomp-web/images/logo.png

需要注意的是:如果使用alias的时候location的路径是以/结尾的话,alias配置的路径也必须以/结尾

然后就是负载均衡了

主要记得一个 upstream就可以了 后面是名字

直接看看即可。 

#轮询的方式upstream server_group {server 101.31.7.24:8080; #node1server 101.31.7.25:8081; #node2server 101.31.7.26:8082; #node3      }#加权轮询的方式#  upstream server_group {#       server 101.31.7.24:8080 weight=3; #node1#       server 101.31.7.25:8081 weight=5; #node2#       server 101.31.7.26:8082 weight=2; #node3      # }#ip_hash的方式,基于客户端IP的分配方式  #  upstream server_group {#       ip_hash;#       server 101.31.7.24:8080; #node1#       server 101.31.7.25:8081; #node2#       server 101.31.7.26:8082; #node3      # }#最少连接的方式,把请求分发给连接请求较少的那台服务器#  upstream server_group {#       least_conn;#       server 101.31.7.24:8080; #node1#       server 101.31.7.25:8081; #node1#       server 101.31.7.26:8082; #node1      # }

然后我们在proxy_pass里面改一下地址 http://server_group/ 就可以了

#重新加载配置文件
./nginx -s reload    
#检查配置文件是否正确
./nginx -t  
#启动nginx
./nginx
# 快速停止nginx
./nginx -s stop
# 完整有序的停止nginx,这个命令会等待所有请求结束后再关闭nginx
./nginx -s quit

配置完你保存完 但是并没有生效,要重新加载才可以生效。

http://www.xdnf.cn/news/5016.html

相关文章:

  • Android屏蔽通话功能和短信功能
  • AD 电阻容模型的创建
  • 68、微服务保姆教程(十一)微服务的监控与可观测性
  • 乌班图安装docker
  • 1.3.2 linux音频PulseAudio详细介绍
  • 关系模式-无损连接和保持函数依赖的判断
  • 用Python解密霍格沃茨的情感密码:哈利波特系列文本挖掘之旅
  • 用 Java 实现一个简单的阻塞队列
  • HTML字符串转换为React元素实现
  • 云轴科技ZStack入选赛迪顾问2025AI Infra平台市场发展报告代表厂商
  • LeetCode 1722. 执行交换操作后的最小汉明距离 题解
  • Filecoin存储管理:如何停止Lotus向特定存储路径写入新扇区数据
  • 【杂谈】-认知的范式革命:从逻辑理性到类比思维
  • 什么是AI写作
  • Rust 中的 Pin 和 Unpin:内存安全与异步编程的守护者
  • Typora+PicGo+Gitee图床配置教程 自动图片上传
  • WebRTC工作原理详细介绍、WebRTC信令交互过程和WebRTC流媒体传输协议介绍
  • RabittMQ-高级特性2-应用问题
  • 8.1.Kubernetes进阶
  • 使用零样本LLM在现实世界环境中推广端到端自动驾驶——论文阅读
  • tauri-plugin-store 这个插件将数据存在本地电脑哪个位置
  • ROS快速入门教程06
  • 在windows系统中安装图数据库NEO4J
  • vLLM部署Qwen2-7B模型推理
  • AI-02a5a4.神经网络-与学习相关的技巧-参数更新
  • 常见标签语言的对比
  • Cluster Interconnect in Oracle RAC
  • 国债收益率、需求与抛售行为的逻辑解析
  • TRO高能预警,Keith律所×Tane Hannah Meets版权两案王炸维权
  • 【深度学习】【目标检测】【Ultralytics-YOLO系列】YOLOV3核心文件detect.py解读