增加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) 重写是子类对父类的允许访问的方法的实现过程进行重新编写!返回值和形参都不能改变。即外壳不变,核心重写! 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...

NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
Oracle11g安装包
Oracle 11g安装包 适用于windows系统,64位 下载路径 oracle 11g 安装包...

软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...