增加nginx配置文件(conf.d), 管理多个项目
1.切换到nginx目录下, 新建conf.d文件夹
mkdir conf.d
2.赋予conf.d权限
chmod 777 conf.d
3.进入conf.d, 编辑conf文件
vim zc_travel.conf
server { listen 13101; server_name localhost;location / {root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;index index.html index.htm;try_files $uri $uri/ /index.html;}location /tag/ {proxy_pass http://192.168.1.107:8090/xinpeople-base/;}location /images/ {alias /home/baoxin/app/rcfx/photo/;} }
上述Nginx配置文件定义了一个服务器块(server),用于配置Nginx如何处理来自客户端的请求。以下是配置的具体解释:
- 监听端口和服务器名称
- listen 13101;:指定Nginx监听的端口号为13101。
- server_name localhost;:指定该服务器块适用于名为localhost的主机。
- 根路径配置 (location /)
- root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;:设置Web根目录,所有对/路径的请求将从这个目录下查找资源。
- index index.html index.htm;:指定默认索引文件,当访问一个目录时,Nginx会尝试加载这些文件。
- try_files $uri $uri/ /index.html;:尝试按顺序匹配文件:
- $uri:尝试直接匹配请求的URI。
- $uri/:如果URI是目录,则尝试访问该目录下的索引文件。
- /index.html:如果前两者都未找到,则返回/index.html,这通常用于单页应用(SPA)的路由。
- 代理转发配置 (location /tag/)
- proxy_pass http://192.168.1.107:8090/xinpeople-base/;:对于以/tag/开头的请求,将其转发到http://192.168.1.107:8090/xinpeople-base/,实现反向代理功能。
- 图片路径别名配置 (location /images/)
- alias /home/baoxin/app/rcfx/photo/;:对于以/images/开头的请求,实际从/home/baoxin/app/rcfx/photo/目录中查找资源,而不是基于根目录。
总结来说,这段配置主要用于:
- 监听13101端口并处理来自localhost的请求。
- 提供静态文件服务,特别是HTML页面和图片。
- 对特定路径(如/tag/)进行反向代理,将请求转发给后端服务。
4.在原来的配置文件/etc/nginx/conf/nginx.conf
的http{}内末尾处加一句:
include /usr/local/nginx/conf.d/*.conf;
5.重启nginx
./nginx -s reload
6.补充
我们也可以在当前项目下创建conf文件,比如当前项目目录是/home/baoxin/app/web/insight-radar-rcfx-pre,我们的conf文件目录是/home/baoxin/app/web/insight-radar-rcfx-pre/nginx_rcfx.conf,之后我们通过ln -s指向/etc/nginx/conf.d/,是同样的效果
ln -s /home/baoxin/app/web/insight-radar-rcfx-pre/nginx_rcfx.conf /etc/nginx/conf.d/
- ln -s:表示创建符号链接。-s 选项指定创建的是符号链接而不是硬链接。
- /home/baoxin/app/web/insight-radar-rcfx-pre/nginx_rcfx.conf:这是源文件的路径,即你要链接到的目标文件。在这个例子中,它是Nginx配置文件的具体位置。
- /etc/nginx/conf.d/:这是目标目录,即符号链接将被创建的位置。/etc/nginx/conf.d/ 是Nginx默认读取额外配置文件的目录。
具体作用
这条命令的作用是:
- 在 /etc/nginx/conf.d/ 目录下创建一个名为 nginx_rcfx.conf 的符号链接,该链接指向 /home/baoxin/app/web/insight-radar-rcfx-pre/nginx_rcfx.conf 文件。
- 这样做的目的是让Nginx在启动或重新加载配置时能够自动读取并应用这个自定义的配置文件,而不需要直接修改Nginx主配置文件。
优点
- 灵活性:可以轻松地添加或移除配置文件,而不会影响其他配置。
- 管理方便:所有自定义配置文件都集中在一个目录中,便于管理和维护。
- 减少错误风险:避免直接编辑主配置文件带来的潜在风险。
注意事项
- 权限问题:确保你有足够的权限来创建符号链接和访问源文件。
- 重复检查:确保目标目录中没有同名文件或链接,以避免覆盖现有文件。
- 配置测试:在创建符号链接后,建议使用 nginx -t 测试配置文件的正确性,以确保Nginx能正常加载新配置。
我们通过 ln -s创建符号链接后,可以看到在config.d目录下出现了文件,点击可以跳转到对应的文件路径
点击文件即可到达文件的位置
7. Nginx配置常用指令
7.1. alias
- 作用:指定一个路径别名。
- 语法:alias path;
- 说明:当请求匹配到某个location时,实际从指定的文件系统路径中查找资源,而不是基于根目录。例如:
location /images/ {alias /home/baoxin/app/rcfx/photo/;}
这意味着对/images/的请求将从/home/baoxin/app/rcfx/photo/目录中查找资源。
7.2. proxy_pass
- 作用:将请求转发给后端服务器。
- 语法:proxy_pass URL;
- 说明:用于实现反向代理,将请求转发到指定的后端服务器。例如:
location /tag/ {proxy_pass http://192.168.1.107:8090/xinpeople-base/;}
这意味着对/tag/的请求将被转发到http://192.168.1.107:8090/xinpeople-base/。
7.3. root
- 作用:设置Web根目录。
- 语法:root path;
- 说明:指定所有对当前location的请求将从这个目录下查找资源。例如:
location / {root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;}
这意味着对/的请求将从/home/baoxin/app/web/insight-radar-rcfx-pre/html_dev目录中查找资源。
7.4. index
- 作用:指定默认索引文件。
- 语法:index file1 [file2 ...];
- 说明:当访问一个目录时,Nginx会尝试加载这些文件。例如:
index index.html index.htm;
这意味着当访问一个目录时,Nginx会依次尝试加载index.html和index.htm文件。
7.5. try_files
- 作用:尝试按顺序匹配文件。
- 语法:try_files file1 [file2 ...] fallback;
- 说明:按顺序尝试匹配文件,如果都未找到,则返回最后一个参数作为回退。例如
try_files $uri $uri/ /index.html;
这意味着:
- 先尝试直接匹配请求的URI($uri)。
- 如果是目录,则尝试访问该目录下的索引文件($uri/)。
- 如果前两者都未找到,则返回/index.html,这通常用于单页应用(SPA)的路由。
7.6. rewrite
- 作用:重写URL。
- 语法:rewrite regex replacement [flag];
- 说明:根据正则表达式重写URL。例如:
rewrite ^/old/(.*)$ /new/$1 permanent;
7.7. location
- 作用:定义位置块。
- 语法:location [=|~|~*|^~] pattern { ... }
- 说明:根据请求的URL模式匹配不同的处理逻辑。例如:
location /api/ {proxy_pass http://backend_api;}
7.8. add_header
- 作用:添加响应头。
- 语法:add_header name value;
- 说明:在响应中添加自定义HTTP头。例如:
add_header X-Frame-Options SAMEORIGIN;
7. 9. error_page
- 作用:定义错误页面。
- 语法:error_page code [code ...] [=[] uri | @named_location;
- 说明:指定特定HTTP状态码对应的错误页面。例如:
error_page 404 /custom_404.html;
7.10. gzip
- 作用:启用Gzip压缩。
- 语法:gzip on | off;
- 说明:启用或禁用Gzip压缩以减少传输数据量。例如:
gzip on;
通过这些指令,可以灵活地配置Nginx以满足各种需求,包括静态文件服务、反向代理、URL重写、性能优化等。
相关文章:
增加nginx配置文件(conf.d), 管理多个项目
1.切换到nginx目录下, 新建conf.d文件夹 mkdir conf.d 2.赋予conf.d权限 chmod 777 conf.d 3.进入conf.d, 编辑conf文件 vim zc_travel.conf server { listen 13101; server_name localhost;location / {root /home/baoxin/app/web/insight-radar-rcfx-pre/html_dev;index …...
服务器中了挖矿病毒-应急响应
事件:客户反映服务器响应很慢,出行卡顿,服务器操作系统为windows server 2008。 现场解决步骤: 1、打开任务管理器,看到一个javs.exe的程序,占用CPU使用率比较高,怀疑可能是木马。 2、右键打开…...
pid学习感悟
飞行控制PID算法——无人机飞控_飞控算法-CSDN博客 首先pid是对现测量值和目标值的差值,即偏差值的操作 p是线性操作,偏差越大,则对于控制单元操作的值越大 d是微分操作,我们知道微分其实就是数值变化的斜率,所以当偏…...
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
一、部署LDAP 1、安装LDAP yum install -y openldap-servers openldap-clients openldap openldap-devel compat-openldap openldap-servers-sql systemctl start slapd systemctl enable slapd2、创建第一个管理账号密码(设置为ldapadmin) slappass…...
唯品会C++面试题及参考答案
内存池怎么可以保证不会产生碎片? 内存池通过预先分配一块较大的内存区域,然后对这块内存进行管理,来减少碎片产生。 首先,内存池采用固定大小的内存块分配策略。比如,将内存池划分成大小相同的小块,当有内存分配请求时,就从这些固定大小的块中选取合适的进行分配。这种…...
Flask中@app.route()的methods参数详解
诸神缄默不语-个人CSDN博文目录 在 Flask 中,app.route 是用于定义路由的核心装饰器,开发者可以通过它为应用指定 URL 映射及相应的处理函数。在处理 HTTP 请求时,不同的业务场景需要支持不同的 HTTP 方法,而 app.route 的 metho…...
使用Grafana中按钮插件实现收发HTTP请求
最近项目中需要监控分布式集群的各项指标信息,需要用到PrometheusGrafana的技术栈实现对分布式集群的各个节点状态进行可视化显示,但是要求前端需要提供一个易用的接口让用户可以触发一些操作,例如负载高时进行负载均衡或弹性伸缩。网上找到的…...
workman服务端开发模式-应用开发-vue-element-admin挂载websocket
一、项目根目录main.js添加全局引入 import /utils/websocket 二、在根目录app.vue 中初始化WebSocket连接 <template><div id"app"><router-view /></div> </template><script>import store from ./store export default {n…...
堆排序【东北大学oj数据结构9-4】C++
堆排序是一种基于堆的数据结构的排序,是一种快速排序算法,可以在输入数组中实现排序处理(内存高效)。 堆排序可以实现如下: maxHeapify(A, i) l left(i) r right(i) // select the node which has the m…...
Linux RTC 驱动框架
目录 一、实时时钟(RTC)介绍1.1 概述1.2 功能1.3 应用场景1.4 工作原理1.5 对外接口1.6 常见 RTC 芯片1.7 在 Linux 系统中的应用1.8 注意事项 二、Linux 内核 RTC 驱动框架2.1 相关源码文件介绍2.2 核心数据结构2.2.1 struct rtc_device2.2.2 rtc_class…...
智能订餐:基于JSP的管理系统设计与优化
相关技术介绍 2.1 B/S结构 目前使用较多的开发结构模式大致可以包括C/S模式和B/S模式[5]。其中,C/S模式全称为客户端/服务器模式(Client/Server模式),B/S模式全称为浏览器/服务器模式(Browser/Server模式)。…...
Java基本查询(四)
JPA 查询All示例 JPA教程 - JPA查询All示例 我们可以在JPQL中使用带有子查询的ALL运算符。 List l em.createQuery("SELECT e FROM Professor e WHERE e.salary < " "ALL (SELECT d.salary FROM e.directs d)").getResultList();例子 下面的代码来自…...
【双指针算法】--复写零
文章目录 1. 题目2. 题目解析3. 代码 1. 题目 在线oj 给你一个长度固定的整数数组 arr ,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。 注意:请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改&a…...
leetcode hot100 两两交换链表之中的节点
24. 两两交换链表中的节点 已解答 中等 相关标签 相关企业 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换) # Definition fo…...
Yolo11改进策略:主干网络改进|FastVit与Yolo11完美融合,重参数重构Yolo11网络(全网首发)
文章目录 摘要FastViT:一种使用结构重新参数化的快速混合视觉变换器1、简介2、相关工作3、体系结构3.1、概述3.2、FastViT3.2.1、重新参数化跳过连接3.2.2、线性训练时间过参数化3.2.3、大核卷积4、实验4.1、图像分类4.2、鲁棒性评价4.3、3D Hand网格估计4.4、语义分割和目标检…...
vscode打开下一个文件的时候上一个文件会关闭
解决方法: 你可以通过设置 workbench.editor.enablePreview 来控制在 VS Code 中打开文件时是否会关闭上一个文件。将其设置为 false 可以防止这种行为。 {"workbench.editor.enablePreview": false } 在设置编辑器中显示 "workbench.editor.enab…...
windows使用zip包安装MySQL
windows通过zip包安装MySQL windows通过zip包安装MySQL下载MySQL的zip安装包创建安装目录和数据目录解压zip安装包创建配置目录 etc 和 配置文件 my.ini安装MySQL进入解压后的bin目录执行命令初始化执行命令安装 验证安装查看服务已安装 启动MySQL查看服务运行情况修改密码创建…...
【LeetCode每日一题】——415.字符串相加
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 字符串 二【题目难度】 简单 三【题目编号】 415.字符串相加 四【题目描述】 给定两个字符…...
基于角色的访问控制(RBAC)在异构系统中的应用
在数字化蓬勃发展的当下,企业运营高度依赖各类异构系统。基于角色的访问控制(RBAC)成为管理这些系统中用户权限的核心策略。RBAC 依据组织内的岗位、职责定义角色,按角色分配权限,用户凭借所属角色获取相应访问权&…...
FPGA实现MIPI转FPD-Link车载同轴视频传输方案,基于IMX327+FPD953架构,提供工程源码和技术支持
目录 1、前言工程概述免责声明 2、相关方案推荐本博主所有FPGA工程项目-->汇总目录我这里已有的 MIPI 编解码方案 3、本 MIPI CSI-RX IP 介绍4、详细设计方案设计原理框图IMX327 及其配置FPD-Link视频串化-解串方案MIPI CSI RX图像 ISP 处理图像缓存HDMI输出工程源码架构 5、…...
远程控制macOS一直卡在100%,能连接上了却只显示了壁纸?
前言 前段时间有个朋友过来咨询关于Windows使用第三方远程软件(向日葵、Todesk等)远程连接控制macOS系统,但出现了一些奇奇怪怪的问题。 比如在连接的时候,一直卡在100%连接,对方的电脑却已经显示已经被控制的状态。…...
springboot中使用gdal将表中的空间数据转shapefile文件
springboot中使用gdal将表中的空间数据转shapefile文件 代码: // 样本导出-将样本表导出为shapefile,复制样本shp文件到临时目录下 sampleDir是文件夹pathpublic void setYbShapeFile(Yb yb, File sampleDir) {// 创建 前时项 和 后时项 文件夹File y…...
捋一捋相关性运算,以及DTD和NLP中的应用
捋一捋相关性运算,以及DTD和NLP中的应用 相关性和相干性,有木有傻傻分不清相关性数字信号的相关运算同维度信号的相关理解 相关--互相关--相干 回声消除过程如何套用这些知识相关性/相干性检测在DT中的应用参考 相关性和相干性,有木有傻傻分不清 这是容易混淆的两个…...
Calcite Web 项目常见问题解决方案
Calcite Web 项目常见问题解决方案 calcite-web Authoritative front-end development resources for Calcite design initiative. Includes extendable base components and styles, as well as a modular and efficient framework for ArcGIS properties. [这里是图片001] 项…...
3090. 每个字符最多出现两次的最长子字符串
题目内容: 给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该 子字符串 的 最大 长度。 示例 1: 输入: s "bcbbbcba" 输出: 4 解释: 以下子字符串长…...
基于微信小程序的短视频系统(SpringBoot)+文档
💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...
Git的简介
文章目录 一.Git是什么二.核心概念三.工作流程四.Git的优势 下载Git 推荐官网下载 官网地址 一.Git是什么 Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器,能够记录文件在不同时间点的状态&…...
【XR】ATW
异步时间扭曲(Asynchronous Timewarp,简称ATW)是一种在虚拟现实(VR)技术中使用的算法,它通过生成中间帧来减少因帧率不足导致的抖动和延迟,从而提高用户体验。ATW技术在两个线程中完成时间扭曲的…...
记Fastjson2的一个报ConcurrentModificationException的bug
错误背景:fastjson2的parseObject方法,在spring webflux项目中被调用,有时会报java.util.ConcurrentModificationException错误。报错处的代码如下图: 改了半天与并发安全相关的代码,还是会报此错误。后来改变思路搜…...
JAVAweb学习日记(二)JavaScript
一、概念 二、JavaScript引入方式 三、JavaScript书写语法 输出语句: 变量: 数据类型、运算符、流程控制语句: 数据类型: 运算符: 字符串如果是 数字字符构成,先把读到的数字转为数字类型,后续…...
FPGA学习(基于小梅哥Xilinx FPGA)学习笔记
文章目录 一、整个工程的流程二、基于Vivado的FPGA开发流程实践(二选一多路器)什么是二选一多路器用verilog语言,Vivado软件进行该电路实现1、设计输入:Design Sources中的代码2、分析和综合:分析设计输入中是否有错误…...
Linux的VIM基本操作
编辑模式转换 编辑指令 linux用vim编辑代码,再用gcc进行编译 编辑命令如下 gcc编译如下...
2024年12月英语六级CET6写作与翻译笔记
目录 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可行的目标 2 翻译 2.1 洋山港(Yangshan Port) 2.2 中国航天事业 2.3 北斗卫星导航系统 1 写作 1.1 大学为学生提供了探索各种可能性 1.2 自律在个人成长中的重要性 1.3 切实可…...
学习记录:electron主进程与渲染进程直接的通信示例【开箱即用】
electron主进程与渲染进程直接的通信示例 1. 背景: electronvue实现桌面应用开发 2.异步模式 2.1使用.send 和.on的方式 preload.js中代码示例: const { contextBridge, ipcRenderer} require(electron);// 暴露通信接口 contextBridge.exposeInMa…...
领域自适应
领域自适应(Domain Adaptation)是一种技术,用于将机器学习模型从一个数据分布(源域)迁移到另一个数据分布(目标域)。这在源数据和目标数据具有不同特征分布但任务相同的情况下特别有用。领域自适…...
Kubeadm+Containerd部署k8s(v1.28.2)集群(非高可用版)
KubeadmContainerd部署k8s(v1.28.2)集群(非高可用版) 文章目录 KubeadmContainerd部署k8s(v1.28.2)集群(非高可用版)一.环境准备1.服务器准备2.环境配置3.设置主机名4.修改国内镜像源地址5.配置时间同步6.配置内核转发及网桥过滤 …...
重温设计模式--职责链模式
文章目录 职责链模式的详细介绍C 代码示例C示例代码2 职责链模式的详细介绍 定义与概念 职责链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它旨在将请求的发送者和多个接收者解耦,让多个对象都有机会处理请求&a…...
单点登录平台Casdoor搭建与使用,集成gitlab同步创建删除账号
一,简介 一般来说,公司有很多系统使用,为了实现统一的用户名管理和登录所有系统(如 GitLab、Harbor 等),并在员工离职时只需删除一个主账号即可实现权限清除,可以采用 单点登录 (SSO) 和 集中式…...
【Rust自学】5.1. 定义并实例化struct
喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 5.1.1. 什么是struct struct的中文意思为结构体,它是一种自定义的数据类型,它允许程序为相关联的值命名和打包&am…...
vue-cli 5接入模块联邦 module federation
vue-cli 5接入模块联邦 module federation 模块联邦概念实现思路配置遇到的问题: 模块联邦概念 模块联邦由webpack 5最先推出的,让应用加载远程的代码模块来实现不同的Web应用共享代码片段.模块联邦分为两个角色,一个是生产者,一个是消费者.生产者暴露代码供消费者消费 (用一个…...
[前端]mac安装nvm(node.js)多版本管理
NVM功能简介 NVM(Node Version Manager)是一个用于管理多个Node.js版本的命令行工具,它允许开发者在同一台机器上安装、切换和卸载不同版本的Node.js,从而解决版本不兼容的问题。以下是NVM的一些主要功能和用途: 安装和…...
thinkphp8+layui分页
前端 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>demo</title><link href"//unpkg.com/layui2.9.20/dist/css/layui.css" rel"stylesheet"> </head> <…...
【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的?
【NLP高频面题 - Transformer篇】Transformer的位置编码是如何计算的? 重要性:★★★ NLP Github 项目: NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、部署和应用…...
VSCode搭建Java开发环境 2024保姆级安装教程(Java环境搭建+VSCode安装+运行测试+背景图设置)
名人说:一点浩然气,千里快哉风。—— 苏轼《水调歌头》 创作者:Code_流苏(CSDN) 目录 一、Java开发环境搭建二、VScode下载及安装三、VSCode配置Java环境四、运行测试五、背景图设置 很高兴你打开了这篇博客,更多详细的安装教程&…...
计算机网络压缩版
计算机网络到现在零零散散也算过了三遍,一些协议大概了解,但总是模模糊糊的印象,现在把自己的整体认识总结一下,(本来想去起名叫《看这一篇就够了》,但是发现网上好的文章太多了,还是看这篇吧&a…...
大语言模型中的Agent;常见的Agent开发工具或框架
大语言模型中的Agent 大语言模型中的Agent是指以大语言模型为核心驱动,具有自主理解、感知、规划、记忆和使用工具等能力,能够自动化执行复杂任务的系统.以下是一些例子: AutoGPT:它相当于一个完整的工具包,可以为各种项目构建和运行自定义AI Agent。使用OpenAI的GPT-4和…...
设计模式-备忘录模式
背景 游戏角色恢复问题:角色有攻击力和防御力,在Boss站前保存攻击力和防御力,大战之后,攻击力和防御力下降,从备忘录恢复到大战前的状态。 传统思路: 一个游戏对象,对应一个保存状态对象。 …...
重温设计模式--状态模式
文章目录 状态模式(State Pattern)概述状态模式UML图作用:状态模式的结构环境(Context)类:抽象状态(State)类:具体状态(Concrete State)类&#x…...
道可云人工智能元宇宙每日资讯|2024(GIAC)智能视听大会在青岛举行
道可云元宇宙每日简报(2024年12月23日)讯,今日元宇宙新鲜事有: 2024(GIAC)智能视听大会在青岛举行 12月22日,2024(GIAC)智能视听大会在青岛举行。大会以“数字文化 智能…...
理解神经网络
神经网络是一种模拟人类大脑工作方式的计算模型,是深度学习和机器学习领域的基础。 基本原理 神经网络的基本原理是模拟人脑神经系统的功能,通过多个节点(也叫神经元)的连接和计算,实现非线性模型的组合和输出。每个…...