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

Nginx 安装过程

一、安装

1、安装依赖

命令:yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

若出错,可重复执行该命令,直至成功。

Debian及其衍生系统中使用命令:
sudo apt install -y g++ libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev

2、下载安装包

1)命令下载

wget http://nginx.org/download/nginx-1.26.2.tar.gz

或去官网手动下载,网址:https://nginx.org/en/download.html

若没有未发现命令wget,则需先安装 wget,命令:yum install -y wget

2)手动下载

https://nginx.org/en/download.html 

image

 3)复制到服务器

并将安装包移动或复制到目标目录 /usr/java

命令:mv nginx-1.26.2.tar.gz /usr/java

3、安装 nginx

1)解压安装包

命令:cd /usr/java

命令:tar -zxf nginx-1.26.2.tar.gz

命令:cd nginx-1.26.2

 image

 2)配置nginx

命令:./configure

 image

image

 若报错:C compiler cc is not found

 image 

修复:cc 通常是 gcc(GNU Compiler Collection)的符号链接,但也可能指向其他 C 编译器。

安装GCC:

sudo apt update

sudo apt install build-essential

说明:build-essential 包包含了编译许多软件包所需的工具,包括GCC、G++ 和make。

 image

 注:可以使用 which cc 或 ls -l $(which cc)(如果 which cc 找到路径的话)来检查 cc 是否指向正确的编译器。

3)编译源码

命令:make

 image

 image 

4)执行 install

 

命令:make install 

image 

5)查看安装路径

命令:whereis nginx

命令:cd /usr/local/nginx

 命令:cd sbin

 

 image 

6)启动服务

命令:./nginx

若没有报错,说明启动成功。

 image

 4、访问站点

命令:curl http://localhost:80

若报Forbidden,如下:

 image

 或

 

则:

一般是因为以下目录权限不足,查看配置的文件:/usr/local/nginx/conf/nginx.conf

 image

 通过防火墙

命令:firewall-cmd --permanent --add-port=80/tcp

命令:firewall-cmd --reload

设置之后,可以在其他计算机上通过浏览器访问。

5、启用 systemd 服务

1)关闭进程

命令:ps aux | grep nginx

命令:sudo kill 主进程Id

推荐命令:sudo kill -QUIT 主进程Id

推荐命令允许它完成当前正在处理的请求。

 image

 注:一般root用户下的进程是主进程。

2)创建服务文件

创建文本:nginx.service,一般是Utf-8编码。 

文本内容:方框内容是启动脚本的位置

 image 

[Unit]  Description=The NGINX HTTP and reverse proxy server  After=network.target remote-fs.target nss-lookup.target   [Service]  Type=forking  PIDFile=/run/nginx.pid  ExecStartPre=/usr/local/nginx/sbin/nginx -t  ExecStart=/usr/local/nginx/sbin/nginx  ExecReload=/bin/kill -s HUP $MAINPID  ExecStop=/bin/kill -s QUIT $MAINPID  PrivateTmp=true  [Install]  WantedBy=multi-user.target
View Code

3)移动服务文件

 

将文本移动到 /etc/systemd/system/

命令:sudo mv nginx.service /etc/systemd/system/ 

image 

4)启用Nginx服务

重新加载systemd配置并启用Nginx服务

命令:sudo systemctl daemon-reload 

命令:sudo systemctl enable nginx 

命令:sudo systemctl start nginx

 image 

通过手动方式配置systemd服务,可能报以下错误:

服务在运行一段时间之后,由于无法打开 pid 文件,导致nginx停止运行。

 image 

原因:一般是因为无写权限访问 /run/nginx.pid 文件。

修复:在文件nginx.service中,找到 pidfile 配置项,并更改其值到一个 nginx 用户有写权限的位置,例如:/usr/local/nginx/logs/nginx.pid

在大多数情况下,直接修改 /run 目录的权限或为其设置 ACL 是不推荐的做法。

 image 

设置权限的命令,参考:chmod -R 777 /usr/local/nginx/logs

二、卸载

通过yum安装的Nginx,卸载过程相对简单。

1、停止Nginx服务

命令:sudo systemctl stop nginx

或者(对于较旧的系统可能使用init.d脚本):

命令:sudo service nginx stop

2、卸载Nginx软件包:

命令:sudo yum remove nginx

将删除 Nginx 软件包及其相关依赖(除非也被其他软件包所依赖)。

 image 

3、删除配置文件和数据文件

通过yum remove卸载Nginx软件包,通常不会删除Nginx的配置文件和数据文件(如日志文件、网站文件等)。如果希望完全卸载Nginx,可以手动删除它们。

常见的Nginx配置文件和数据文件路径包括(因配置而异,但默认可能是):

配置文件路径:/etc/nginx/

网站文件路径:/usr/share/nginx/html/ /var/www/html/

日志文件路径:/var/log/nginx/

命令:sudo rm -rf /etc/nginx/  

命令:sudo rm -rf /usr/share/nginx/html/   /var/www/html/  

命令:sudo rm -rf /var/log/nginx/

4、检查是否已完全卸载

1)检查Nginx软件包是否已删除

命令:rpm -qa | grep nginx

如果没有任何输出,表示Nginx软件包已删除。

 image 

2)检查Nginx的进程是否已停止

命令:ps aux | grep nginx

如果没有任何与Nginx相关的进程,表示Nginx已停止。

 image 

3)检查Nginx的文件和目录是否已删除

使用lsfind命令来检查之前提到的文件和目录是否已不存在。

卸载前:

 image 

卸载后:

 image 

 

相关文章:

Nginx 安装过程

一、安装 1、安装依赖 命令:yum install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel 若出错,可重复执行该命令,直至成功。 在Debian及其衍生系统中使用命令:sudo apt install -y g++ libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev …...

Xcode 26 (17A324) 正式版发布 - Apple 平台 IDE

Xcode 26 (17A324) 正式版发布 - Apple 平台 IDEXcode 26 (17A324) 正式版发布 - Apple 平台 IDE IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 请访问原文链接:https://sysin.org/blog/apple-xcode-26/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.orgXcode …...

macOS Tahoe 26 (25A354) Boot ISO 原版可引导镜像下载

macOS Tahoe 26 (25A354) Boot ISO 原版可引导镜像下载macOS Tahoe 26 (25A354) Boot ISO 原版可引导镜像下载 Liquid Glass 惊艳新设计亮相,电话 app 和实时活动丰富连续互通体验,聚焦搜索迎来最大更新 请访问原文链接:https://sysin.org/blog/macos-tahoe-boot-iso/ 查看最…...

mysql数据库服务主从复制实现(基于position)

复制环境搭建 1.1 备份主库信息# mysqldump https://www.cnblogs.com/lifeiLinux/p/19066160 # pxb https://www.cnblogs.com/lifeiLinux/p/19066181 # 克隆 https://www.cnblogs.com/lifeiLinux/p/190942511.2 主数据库二进制日志功能开启 vim /etc/my.cnf server_id=51 log_b…...

海量接入、毫秒响应:易易互联携手阿里云构筑高可用物联网消息中枢

面对换电生态高速发展的通信挑战,易易互联通过采用阿里云 MQTT + RocketMQ 的融合解决方案,成功构建了“海量接入、实时响应、弹性处理、安全可信”的物联网通信底座。作者:横槊、仁中 易易互联:打造安全、便捷、便宜的智能换电网络 易易互联科技有限公司成立于 2017 年,是…...

macOS Sequoia 15.7 (24G222) 正式版 ISO、IPSW、PKG 下载

macOS Sequoia 15.7 (24G222) 正式版 ISO、IPSW、PKG 下载macOS Sequoia 15.7 (24G222) 正式版 ISO、IPSW、PKG 下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia/ 查…...

C++ std::list

std::list 是 C++ STL 中基于双向链表实现的序列容器,其设计目标是提供高效的任意位置插入 / 删除操作。 1、底层结构与核心原理 1.1 节点与链表结构 节点组成:每个元素存储在独立的节点中,节点包含三部分 template <typename T> struct ListNode {T data; /…...

函数是编程范式的原理是什么?

函数式编程范式(Functional Programming,简称 FP)是一种以函数为核心的编程范式,它将计算视为数学函数的求值,强调纯函数、不可变数据和无副作用,避免使用可变状态和命令式控制流。函数式编程范式(Functional Programming,简称 FP)是一种以函数为核心的编程范式,它将…...

能耐高温400度密封圈用什么材质

在现代工业领域,密封圈是确保各类机械设备、管道系统、阀门等密封性能的关键部件。特别是在高温环境下,密封圈的性能直接关系到整个系统的安全稳定运行。那么,面对高达400度的高温环境,我们应该选择什么样的材质来制作密封圈呢?本文将深入剖析几种耐高温密封圈材料,帮助您…...

【IEEE出版|Fellow云集】第五届电气工程与机电一体化技术国际学术会议(ICEEMT 2025)

会议主要围绕“电气工程”、“机电一体化” 等研究领域展开讨论,旨在为电气工程、机电一体化等领域的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。第五届电气工…...

APDU笔记

获取IMEI 标准指令获取[2025-09-16 09:31:13.419]# SEND ASCII> AT+CIMI[2025-09-16 09:31:13.473]# RECV ASCII> AT+CIMI460084492003389OK底层APDU指令AT+CSIM=<length>,"<APDU>" <length>:字符数 "<APDU>":以十六进制字…...

AR眼镜:远程协作的“破局者”,让困难解决“云手帮”

AR眼镜:远程协作的“破局者”,让困难解决“云手帮”pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monos…...

跨网文件摆渡系统功能全解析

内容概要 在当今数字化转型的时代,跨网文件摆渡系统成为企业内外网数据交互的关键工具。特别是像Ftrans Ferry跨网文件安全交换系统这样的专业解决方案,备受企业青睐。在选择跨网文件摆渡系统时,了解其核心功能至关重要。本文将详细探讨“跨网文件摆渡系统有哪些功能”,涵盖…...

跨平台代码同步新时代:Gitee携手GitHub打造开发者高效协作生态

跨平台代码同步新时代:Gitee携手GitHub打造开发者高效协作生态 在开源协作日益成为主流的今天,开发者经常面临多平台代码同步的挑战。为解决这一痛点,国内领先的代码托管平台Gitee推出了创新性的仓库镜像管理功能,实现了与全球最大开发者社区GitHub的无缝双向同步能力。这项…...

CTFer

CTFer成长之路 Web入门 传统CTF线上比赛Web 二进制 逆向Web常见漏洞注入 XSS 文件包含 代码执行 上传 SSRF漏洞出现频率 、复杂程度入门 -> 进阶 -> 拓展信息搜集知己知彼,百战不殆 必备工作,重中之重敏感目录泄露 网站源代码、敏感URL地址(后台) 1.Git泄露使用Git过…...

家政小程序源码一站式开发:助力家政企业数字化转型

在当今数字化时代,传统家政行业正经历着深刻的变革。随着生活节奏的加快和居民生活水平的提高,家政服务需求呈现爆发式增长,尤其在一线和二线城市,人们对家政服务的专业性、预约便捷性和服务质量提出了更高要求。基于微信生态的上门预约家政微信小程序,成为连接用户和服务…...

Gitee推出跨平台镜像功能:一键同步GitHub仓库,开发者协作效率提升50%

Gitee推出跨平台镜像功能:一键同步GitHub仓库,开发者协作效率提升50% 在开源生态日益繁荣的今天,开发者经常需要在多个代码托管平台间切换工作。Gitee近日推出的仓库镜像管理功能,为开发者提供了高效的跨平台代码同步解决方案。这项创新功能可实现GitHub与Gitee之间的代码、…...

DeClotH: Decomposable 3D Cloth and Human Body Reconstruction from a Single Image

DeClotH: Decomposable 3D Cloth and Human Body Reconstruction from a Single Image 从单张图像中分解三维布料和人体重建-CVPR2025 观感上一言以蔽之,单张照片重建三维着装人体的基础上分出了服装...

在 Streamable HTTP 传输模式下启动并测试 MCP Serverr (二)

xxx 本文...

从0到1上手阿里云ARMS:让Java服务监控变得简单

从0到1上手阿里云ARMS:让Java服务监控变得简单 作为后端开发,我们常面临“服务出问题却找不到根因”“线上接口耗时突增但无迹可寻”的困境。阿里云应用实时监控服务(ARMS)正是解决这类问题的利器——它能一键接入Java服务,实现调用链追踪、性能监控、异常告警全流程覆盖。…...

聚焦实用:内外网文件摆渡系统品牌推荐来了!

在数字化时代,企业和机构的网络环境日益复杂,为保障数据安全,多数会采用网络隔离措施。但隔离后仍需进行内外网文件交互,由此催生了内外网文件摆渡系统。内外网文件摆渡系统是专为不同安全等级网络(如内网、外网、隔离区)设计的文件传输与交换解决方案,旨在实现数据安全…...

生物活性肽:从基础研究到治疗应用的潜力与挑战,及计算机辅助筛选的关键作用

在生物医药领域的探索进程中,生物活性肽凭借其独特的生物学特性,逐渐成为研究热点。近几十年来,无论是学术科研机构还是工业界的实验室,都对将肽类物质开发为潜在治疗药物表现出日益浓厚的兴趣。 生物活性肽之所以备受关注,核心在于其具备治疗多种疾病的巨大潜力。…...

MySQL视图定义者和安全性definer/invoker的区别

definer和invoker的区别 在创建视图或者是存储过程的时候,是需要定义安全验证方式的(也就是安全性SQL SECURITY),其值可以为definer或invoker,表示在执行过程中,使用谁的权限来执行。 definer:由definer(定义者)指定的用户的权限来执行 invoker:由调用这个视图(存储过程)的…...

软件测试day2

缺陷 定义:软件在使用过程中使用的任何问题都叫软件的缺陷,简称bug 判定标准:少功能 功能错误 多功能 隐形功能错误 不易使用 缺陷产生的原因:需求阶段 设计阶段 编码阶段 运行系统 缺陷的生命周期:测试-故障分类-故障隔离-故障解决(解决了a缺陷可能会有b缺陷) 软件缺陷…...

软件测式学习

认识软件及测式 认识软件:软件是控制计算机硬件工作的工具(系统软件也是软件) 软件的基本组成:页面客户端-代码服务器-数据服务器(请求-处理-响应) 软件产生过程:需求产生-需求文档-设计效果图-产品开发-产品测试-部署上线 什么是软件测试:使用技术手段验证软件是否满足…...

担心安全与速度?这份跨网文件传输方式推荐清单请收好!

在日常工作和业务协同中,跨网文件传输是一个常见却令人头疼的难题。由于受到网络隔离限制,想要做到快速的传输本身就是一个矛盾题,加上做隔离就是为了保护数据安全,要实现安全又快速的跨网文件传输更是难上加难!本文就来说说跨网文件传输时,面临的安全和速度挑战有哪些?…...

kettle基本操作3:剪切原字段末尾的空格符

0.前言 在同步AS400的数据时,原表字段是固定字段长度的,长度不足时使用空格符填充,故直接"表输入"->"表输出"时,目标表也会同步对应的空格符,很明显这是我们所不想要的,以下是通过"字符串操作"处理组件进行处理即可,这里只需要使用一个…...

Guid g = Guid.Empty;Guid.TryParse(, out g);

Guid g = Guid.Empty; 这行代码把变量 g 初始化为 全 0 GUID: 00000000-0000-0000-0000-000000000000 Guid g = Guid.NewGuid(); // 随机 128 位 Guid h = Guid.Empty; // 全 0,固定不变 // 1. 直接给字符串bool ok = Guid.TryParse("3F2504E0-4F89-11D3-9A0C-0…...

【IEEE出版|上海理工大学】第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025)

会议旨在为从事大数据、人工智能与物联网工程研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和前沿技术,了解学术发展趋势,拓宽研究思路,加强学术研究和探讨,促进学术成果产业化合作的平台。第六届大数据、人工智能与物联网工程国际会议(ICBAIE 2025) …...

MDI Jade9.0中文版详细下载及安装教程,附免费免激活版MDI Jade安装包!!

一、MDI Jade9.0软件下载、 [软件名称]:MDI Jade 9.0 下载链接: (建议手机保存后到电脑端打开,下载解压无需任何密码) 夸克网盘链接:https://pan.quark.cn/s/5d0c712833f1 [软件大小]:248M [软件语言]:中文/英文 [安装环境]:Win7或更高,32/64位操作系统 [温馨提示]:我们…...

C++ std::vector

std::vector 是 C++ STL 中最常用的序列容器之一,它提供了动态数组的功能,结合了数组的高效访问和链表的动态扩展能力。 1、底层结构与核心原理 1.1 内存布局连续内存空间:vector 底层是一块连续的动态分配内存,这使得它支持 随机访问(通过下标 [] 或 at() 方法,时间复杂…...

RC-Explainer | Reinforced Causal Explainer for Graph Neural Networks

论文信息论文标题:Reinforced Causal Explainer for Graph Neural Networks论文作者:Xiang Wang, Yingxin Wu, An Zhang, Fuli Feng, Xiangnan He, Tat-Seng Chua论文来源:论文地址:link论文代码:linkAbstract ​  1. 研究核心背景:GNN 可解释性的重要性与现有方法缺陷…...

批量遍历文件夹内得文件生成md5值

#!/bin/sh# 定义输出文件名 output_file="output.txt"# 清空或创建输出文件 : > "$output_file"# 遍历当前目录下的所有文件(不包括子目录) for file in *; do# 跳过目录和特殊文件if [ -f "$file" ]; then# 计算MD5并提取值(兼容文件名中…...

使用源码启动 seata tc server

使用源码启动 seata tc server1.概述 最近在集成seata的时候,由于官方并没有直接的集成文档,因此在使用的时候会有一些问题,问AI有时又不好解决,这个时候通过源码分析问题就很有必要,本文介绍一下如何启动 server server。 2.实现过程 2.1 下载源码 https://seata.apache.…...

OpenLDAP 常见命令行命令及解析

OpenLDAP 常见命令行命令及解析 本文详细介绍了 OpenLDAP 常用的命令行工具及其使用方法,适合 LDAP 管理员和系统运维人员阅读。 目录 基本工具介绍 常用命令详解 实用操作示例 高级功能使用 故障排查技巧 基本工具介绍 OpenLDAP 提供了一系列命令行工具用于目录服务的操作和管…...

自动化http请求脚本

#!/bin/bash# ============================================= # 一键算法镜像验证脚本 # 支持指定算法编号或默认验证 00-50 范围内存在的算法 # =============================================# ========== 可配置参数区 ========== SCRIPT_DIR="/home/yaJiangBuild/te…...

绕过亚马逊儿童版家长控制的技术漏洞分析

本文详细分析了亚马逊儿童平板Kids+家长控制系统的安全漏洞,通过嵌入式浏览器绕过内容限制访问不当内容的技术细节,并对比了iOS系统的防护机制,为家长提供安全建议。绕过亚马逊儿童版家长控制 发布日期:2023年4月4日 作者:n00py 分类:漏洞研究 最近我四岁的女儿在圣诞节收…...

P2564 [SCOI2009] 生日礼物

P2564 [SCOI2009] 生日礼物#include <bits/stdc++.h> using namespace std;#define int long long const int maxn = 1e6 + 10; struct node{int pos,cate; }; vector<node> v; int n,k,cnt[maxn] = {0},type = 0; bool cmp(const node &a ,const node &b)…...

【C++】类与对象(下) - 详解

【C++】类与对象(下) - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", monospace !important; font-…...

今日计划-2025年9月16日

新增用例,上库一个MR 调测性能脚本,有个可用的脚本 卷腹+1万步...

C#/.NET/.NET Core技术前沿周刊 | 第 54 期(2025年9.8-9.14)

前言 C#/.NET/.NET Core技术前沿周刊,你的每周技术指南针!记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿,助力技术成长与视野拓宽。欢迎投稿、推荐或自荐优质文章、项目、学习资源等…...

C# Avalonia 13- MoreDrawing - GenerateBitmap

C# Avalonia 13- MoreDrawing - GenerateBitmapGenerateBitmap.axaml代码<Window xmlns="https://github.com/avaloniaui"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008&q…...

Flutter个性化主题系统:Material Design 3的深度定制

Flutter个性化主题系统:Material Design 3的深度定制本文基于BeeCount(蜜蜂记账)项目的实际开发经验,深入探讨如何构建灵活、美观的Material Design 3主题系统。项目背景 BeeCount(蜜蜂记账)是一款开源、简洁、无广告的个人记账应用。所有财务数据完全由用户掌控,支持本地存…...

Typescript中闭包的原理

在 TypeScript(以及 JavaScript)中,闭包描述了函数能够访问其声明时所在作用域的变量,即使该函数在其声明的作用域之外被调用的现象。 定义:闭包是指一个函数能够记住并访问其词法作用域(lexical scope)中的变量,即使这个函数是在其词法作用域之外执行。 闭包的核心原理…...

IvorySQL 4.6:DocumentDB+FerretDB 实现 MongoDB 兼容部署指南

背景 MongoDB 诞生之初,便以出色的易用性与详尽的驱动程序文档脱颖而出,堪称对传统关系型数据库的一次重要革新,也正因如此,它迅速成为开发者社区的热门之选。 然而,随着其许可模式从开源转向 SSPL 许可证,MongoDB 的授权机制变得日趋复杂——这一变化直接导致它不再适配…...

在Xilinx Vitis中创建并使用静态库

1. 创建静态库项目 新建项目: 打开Xilinx Vitis,点击 File → New → Project。 选择 Xilinx → C Project,点击 Next。 输入项目名称(如 MyStaticLib),在 Project Type 中选择 Empty Application。 在 OS Platform 选择 Standalone,点击 Next。 在 Templates 中选择 Em…...

Go使用cyclicbarrier示例

github.com/marusama/cyclicbarrier 是一个 Go 语言库,用于实现 循环屏障(Cyclic Barrier) 的同步机制。它的主要功能是协调多个 goroutine 在某个点等待,直到所有 goroutine 都到达该点后,才能继续执行后续操作。以下是它的核心功能和用途:1. 核心功能同步多个 goroutin…...

做题记录2

CF2144C Non-Descending Arrays 思路 考虑 dp 。 对于每个位置,都有换或者不换两种状态,所以设 \(f_{i, 0/1}\) 为考虑前 \(i\) 个位置,并且第 \(i\) 个位置交换或者不交换累计的收益。接下来枚举每种情况:对于 \(f_{i, 0}\) ,显然可以通过 \(f_{i - 1, 0}\) 直接转移,接下…...

剑指offer-30、连续⼦数组的最⼤和

题⽬描述 输⼊⼀个整型数组,数组⾥有正数也有负数。数组中的⼀个或连续多个整数组成⼀个⼦数组。求所有⼦数组的和的最⼤值。要求时间复杂度为 O(n) . 示例1 输⼊:[1,-2,3,10,-4,7,2,-5] 返回值:18 输⼊的数组为 {1,-2,3,10,-4,7,2,-5} ,和最⼤的⼦数组为 {3,10,-4,7,2} ,…...

ITK-SNAP 安装

ITK-SNAP 安装打开官网 https://www.itksnap.org/pmwiki/pmwiki.php 点击Downloads https://www.itksnap.org/pmwiki/pmwiki.php?n=Downloads.SNAP4 Windows上安装ITK-SNAP 不注册 ITK-SNAP DownloadsITK-SNAP 4.4.0 (LATEST RELEASE) With new AI-based segmentation feat…...