增加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 …...

PostgreSQL编译安装教程
下载安装 1.在家目录创建一个文件夹放下载安装包 mkdir softwarecd software 2.下载文件压缩包 wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz 3.解压 tar -xzvf postgresql-16.0.tar.gz 4.编译 在software/postgresql-16.0下 cd software…...

【提审】Android包提审报权限问题
问题:华为应用市场审核不通过 平台审核检测详情: 日志: 自检工具:frida-server【Unity&Android】安卓app自测应用隐私相关获取和申请权限_apk 隐私合规 自测-CSDN博客 参考资料:Unity启动时获取了android_id等设…...
xdoj 数字个数统计
1-2 数字个数统计 2 时间限制: 1S 题目描述: 一个正整数 n(1<n<1000),在区间[n,n2 ](含端点)内统计奇数个数、 偶数个数、能被 4 整除且不能被 3 整除的数字个数,并求出各统计数字两两…...

空天地遥感数据识别与计算--数据分析如何助力农林牧渔、城市发展、地质灾害监测等行业革新
在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处…...
Git:查看分支、创建分支、合并分支
一、查看分支 查看的git命令如下: git branch # 列出本地已经存在的分支,并且当前分支会用*标记 git branch -r # 查看远程版本库的分支列表 git branch -a # 查看所有分支列表(包括本地和远程,remotes/开头的表示远程分支&…...

联合目标检测与图像分类提升数据不平衡场景下的准确率
联合目标检测与图像分类提升数据不平衡场景下的准确率 在一些数据不平衡的场景下,使用单一的目标检测模型很难达到99%的准确率。为了优化这一问题,适当将其拆解为目标检测模型和图像分类模型的组合,可以更有效地控制最终效果,尤其…...
Git的简介
文章目录 一.Git是什么二.核心概念三.工作流程四.Git的优势 下载Git 推荐官网下载 官网地址 一.Git是什么 Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人对同一项目的开发工作。它就像是一个时光机器,能够记录文件在不同时间点的状态&…...

麒麟操作系统服务架构保姆级教程(四)NGINX中间件
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 想要在网页上访问到代码那么就需要用到应用服务类中间件,国外的有Nginx,Tomcat等,国内的有金蝶web,东方通的服务中间件(Tongweb࿰…...
Glide 自定义圆角、铺满FitXY
在 Android 开发中,使用 Glide 来加载图片时,有时需要对图片进行特定的处理,比如设置圆角或者使图片完全填充到一个视图中(类似于 ImageView 的 scaleType 中的 FitXY)。以下是如何使用 Glide 来实现这些自定义需求的处…...

蓝牙协议——音乐启停控制
手机播放音乐 手机暂停音乐 耳机播放音乐 耳机暂停音乐...

Krita安装krita-ai-diffusion工具搭建comfyui报错没有ComfyUI_IPAdapter_plus解决办法
我们在使用Kirta安装krita-ai-diffusion工具之后搭建comfyui环境需要安装很多扩展文件。 一般正常安装都可以使用了。 但是有一个插件很特别,无论你安装多少遍都会显示缺失,是什么插件这么难搞定呢? 没错,就是我们的ComfyUI_IPAdapter_plus插件。 就像下图一样: 那么怎…...

四相机设计实现全向视觉感知的开源空中机器人无人机
开源空中机器人 基于深度学习的OmniNxt全向视觉算法OAK-4p-New 全景硬件同步相机 机器人的纯视觉避障定位建图一直是个难题: 系统实现复杂 纯视觉稳定性不高 很难选到实用的视觉传感器 为此多数厂家还是采用激光雷达的定位方案。 OAK-4p-New 为了弥合这一差距…...

LightGBM分类算法在医疗数据挖掘中的深度探索与应用创新(上)
一、引言 1.1 医疗数据挖掘的重要性与挑战 在当今数字化医疗时代,医疗数据呈爆炸式增长,这些数据蕴含着丰富的信息,对医疗决策具有极为重要的意义。通过对医疗数据的深入挖掘,可以发现潜在的疾病模式、治疗效果关联以及患者的健康风险因素,从而为精准医疗、个性化治疗方…...
JVM(Java虚拟机)的组成部分详解
摘要: JVM (Java Virtual Machine) 是一个抽象计算模型,它使Java程序可以在任何支持JVM的操作系统上运行,而无需考虑底层硬件架构。本文将深入探讨JVM的内部结构和工作机制,包括类加载器、运行时数据区、执行引擎以及内存管理等关…...
jsp中的四个域对象(Spring MVC)
在Spring MVC中,Model中的数据会被自动放入到请求域(Request Scope)中。也就是说,当我们在控制器中使用model.addAttribute()时,这些属性会被放入到HttpServletRequest对象的属性中。 让我们通过代码来详细解释&#…...
计算机基础知识复习12.24
http和https有那些区别 http是超文本传输协议,信息是明文传输,存在安全风险的问题,https则解决http不安全的缺点,在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输 http连接建立相对简单࿰…...
如何使用vscode解决git冲突
在使用VSCode时,遇到Git冲突是很常见的情况。Git冲突是指当多个人同时修改同一个文件的同一行或相邻行时,Git无法自动决定应该保留哪一个修改,需要手动解决这个冲突。 要解决Git冲突,可以按照以下步骤操作: 1. 打开V…...

告别卡顿:CasaOS轻NAS设备安装Gopeed打造高效下载环境
文章目录 前言1. 更新应用中心2.Gopeed安装与配置3. 本地下载测试4. 安装内网穿透工具5. 配置公网地址6. 配置固定公网地址 前言 无论你是需要大量文件传输的专业人士,还是只是想快速下载电影或音乐的普通用户,都会使用到下载工具。如果你对现有的下载工…...

Java 重写(Override)与重载(Overload)
重写 (Override) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。…...
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする
日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
WEB3全栈开发——面试专业技能点P2智能合约开发(Solidity)
一、Solidity合约开发 下面是 Solidity 合约开发 的概念、代码示例及讲解,适合用作学习或写简历项目背景说明。 🧠 一、概念简介:Solidity 合约开发 Solidity 是一种专门为 以太坊(Ethereum)平台编写智能合约的高级编…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...