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

LNMP简易搭建

目录

前言

一、拓扑图

二、NGINX配置

三、配置MySQL

四、配置php环境

 五、部署应用

总结



前言

LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是一种常用的开发和部署网站的解决方案,适用于构建各种类型的网站和应用程序。

下面简要介绍每个组件的作用和功能:
1. Linux:作为操作系统,提供稳定的基础环境,支持并发处理和高性能。
2. Nginx:作为Web服务器和反向代理服务器,处理客户端请求并将它们转发给后端应用服务器,具有高性能和可扩展性。
3. MySQL:作为关系型数据库管理系统,用于存储和管理网站的数据,提供高效的数据读写和查询功能。
4. PHP:作为一种常用的编程语言,用于开发网站的后端逻辑和业务处理,与Nginx和MySQL进行沟通。

LNMP平台的优点包括:
1. 性能优异:Nginx作为Web服务器具有高性能和高并发处理能力,可以处理大量的请求。
2. 稳定可靠:Linux作为操作系统对稳定性有保证,并且MySQL作为数据库管理系统也很稳定,保证了网站的可靠性。
3. 可扩展性:LNMP平台支持横向扩展,可以通过增加服务器节点和负载均衡来提高系统的性能和可用性。
4. 社区支持:LNMP平台的每个组件都有庞大的开发者社区,提供了大量的文档、插件和技术支持。

需要注意的是,LNMP平台并不是唯一的选择,还有其他类似的解决方案,如LAMP(Linux、Apache、MySQL和PHP)、LEMP(Linux、Nginx、MySQL和PHP)、WAMP(Windows、Apache、MySQL和PHP)等。选择合适的平台取决于具体的需求和场景。


一、拓扑图

 在三台主机上配防火墙、selinux、IP并测试通联性

systemctl stop firewalld
setenforce 0

二、NGINX配置

1、下载NGINX

wget https://nginx.org/download/nginx-1.20.2.tar.gz

 2、解压并安装

[root@bogon ~]# ls
anaconda-ks.cfg       公共  图片  音乐
initial-setup-ks.cfg  模板  文档  桌面
nginx-1.20.2.tar.gz   视频  下载
[root@bogon ~]# tar -xf nginx-1.20.2.tar.gz 
[root@bogon ~]# ls
anaconda-ks.cfg       nginx-1.20.2.tar.gz  视频  下载
initial-setup-ks.cfg  公共                 图片  音乐
nginx-1.20.2          模板                 文档  桌面
[root@bogon ~]# cd nginx-1.20.2/
[root@bogon nginx-1.20.2]# ls
auto     CHANGES.ru  configure  html     man     src
CHANGES  conf        contrib    LICENSE  README
[root@bogon nginx-1.20.2]# ./configure --prefix=/usr/local/nginx

在安装过程中会出现缺少依赖的提示,我们安装依赖 

解决后继续安装./configure --prefix=/usr/local/nginx

又发现报错,缺少依赖;继续装依赖

解决依赖后继续安装./configure --prefix=/usr/local/nginx

OK,开始安装make && make install 

make && make install

 完成

3、稍作优化

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

 4、修改配置文件vim /usr/local/nginx/conf/nginx.conf

第一处

 第二处 #此处是针对php环境的修改:IP写成php环境主机的IP、目录修改成如下用于测试、后缀

 5、书写测试页面

 vim /usr/local/nginx/html/index.html

 内容如下:

修改文件名

 mv /usr/local/nginx/html/index.html /usr/local/nginx/html/index.php

6、启动nginx并监听端口 

[root@bogon nginx-1.20.2]# nginx -c /usr/local/nginx/conf/nginx.conf
[root@bogon nginx-1.20.2]# netstat -anput |grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      63511/nginx: master 
[root@bogon nginx-1.20.2]# 

7、访问失败,php环境还未配置

三、配置MySQL

来到192.168.115.129主机

1、安装mariadb

 yum -y install mariadb mariadb-server

2、启动mairadb

[root@bogon ~]# systemctl start mariadb.service 
[root@bogon ~]# netstat -anput |grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      125211/mysqld   

3、此处可以添加硬盘在主机上存储数据

扫描硬盘、格式化并硬盘分区 

[root@bogon scsi_host]# for i in `ls ./`;do echo "- - -">$i/scan;done
[root@bogon scsi_host]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   59G  0 part ├─centos-root 253:0    0 38.3G  0 lvm  /├─centos-swap 253:1    0    2G  0 lvm  [SWAP]└─centos-home 253:2    0 18.7G  0 lvm  /home
sdb               8:16   0    1T  0 disk 
sr0              11:0    1  9.5G  0 rom  /run/media/root/
[root@bogon scsi_host]# mkfs -t xfs /dev/sdb
meta-data=/dev/sdb               isize=512    agcount=4, agsize=67108864 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=268435456, imaxpct=5=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=131072, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@bogon scsi_host]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x4eb4f908 创建新的 DOS 磁盘标签。命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-2147483647,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-2147483647,默认为 2147483647):
将使用默认值 2147483647
分区 1 已设置为 Linux 类型,大小设为 1024 GiB命令(输入 m 获取帮助):w
The partition table has been altered!Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@bogon scsi_host]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   60G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   59G  0 part ├─centos-root 253:0    0 38.3G  0 lvm  /├─centos-swap 253:1    0    2G  0 lvm  [SWAP]└─centos-home 253:2    0 18.7G  0 lvm  /home
sdb               8:16   0    1T  0 disk 
└─sdb1            8:17   0 1024G  0 part 
sr0              11:0    1  9.5G  0 rom  /run/media/root/
[root@bogon scsi_host]# 

创建物理卷、卷组、逻辑卷并将其自动挂载到mysql数据存储目录上

###创建分区[root@bogon scsi_host]# pvcreate /dev/sdb1Physical volume "/dev/sdb1" successfully created.
[root@bogon scsi_host]# vgcreate -s 200G mysql_data_vg /dev/sdb1 Volume group "mysql_data_vg" sucRounding up size to full physical extent 200.00 GiBLogical volume "mysql_data_lv" created.
cessfully created####自动挂载
#查看UUID
[root@bogon scsi_host]# blkid
/dev/sda1: UUID="3c53f9b7-af27-45a0-847d-c8b51a61b4e8" TYPE="xfs" 
/dev/sda2: UUID="OzzZJ3-ONL3-zWXH-eLIM-l911-W2KJ-4R8b2z" TYPE="LVM2_member" 
/dev/sr0: UUID="2020-11-02-15-15-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/mapper/centos-root: UUID="b8b20542-652c-41b9-ad78-67da2a038bf2" TYPE="xfs" 
/dev/mapper/centos-swap: UUID="790fd44d-6a6c-45cb-8c89-d47ece6e2bfa" TYPE="swap" 
/dev/mapper/centos-home: UUID="10964595-0e9e-426f-8ef3-daa2922cdcb2" TYPE="xfs" 
/dev/sdb1: UUID="MKEsmx-K7lq-Z30T-5EgL-9owN-0GST-on0Xf9" TYPE="LVM2_member" 
#查看mysql的数据存放目录
vim /etc/mysql
此字段就是datadir=/var/lib/mysql
#挂载
vim /etc/fstab
插入UUID=MKEsmx-K7lq-Z30T-5EgL-9owN-0GST-on0Xf9 /var/lib/mysql  xfs defaults 0 0
测试mount -a
查看 df -TH

4、登录MySQL并且创建数据库hy和远程登录用户用于部署应用


[root@bogon ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> CREATE DATABASE `hy` CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Query OK, 1 row affected (0.00 sec)MariaDB [(none)]> grant all on hy.* to 'hy'@'192.168.115.%' identified by'123.com';
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> 

5、此处可以登录其他主机安装mysql来测试我们的远程登录账户是否可以正常使用

[root@bogon nginx-1.20.2]# mysql -u hy -h 192.168.115.130 -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| hy                 |
| test               |
+--------------------+
3 rows in set (0.00 sec)MariaDB [(none)]> 

四、配置php环境

1、移除低版本php环境

yum remove php

2、安装高版本php环境

##更新源
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
##安装
yum install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml php72w-ldap php72w-mcrypt

查看php版本

3、编辑 php的配置文件/etc/php-fpm.d/www.conf

修改成自己的地址

修改成NGINX服务器的IP

4、创建目录、编辑测试页面

mkdir /usr/local/nginx/html -pvim /usr/local/nginx/html/index.php

写入

5、启动并检查端口

[root@bogon ~]# systemctl start php-fpm.service 
[root@bogon ~]# netstat -anput |grep php
tcp        0      0 192.168.115.129:9000    0.0.0.0:*               LISTEN      82767/php-fpm: mast 
[root@bogon ~]# 

6、浏览器访问测试

 五、部署应用

仅供参考:

Disucz! 下载_免费搭建网站_开源建站系统下载_Discuz!官方_为您提供全方位建站服务!

选择对应的Disucz版本,同时兼顾它对php版本的要求

将下载好的Disucz分别部署在NGINX和php两台主机中

1、在php上部署:解压并移动位置

[root@bogon ~]# ls
anaconda-ks.cfg                   公共  文档
Discuz_X3.5_SC_UTF8_20230726.zip  模板  下载
initial-setup-ks.cfg              视频  音乐
phpmyadmin依赖                    图片  桌面
[root@bogon ~]# unzip Discuz_X3.5_SC_UTF8_20230726.zip 
[root@bogon ~]# ls
anaconda-ks.cfg                   readme        视频
Discuz_X3.5_SC_UTF8_20230726.zip  readme.html   图片
initial-setup-ks.cfg              upload        文档
LICENSE                           utility.html  下载
phpmyadmin依赖                    公共          音乐
qqqun.png      
[root@bogon ~]# mv upload/* /usr/local/nginx/html
mv:是否覆盖"/usr/local/nginx/html/index.php"? yes
[root@bogon ~]# 

修改 属主为Apache

[root@bogon ~]# chown apache -R /usr/local/nginx/html/*
[root@bogon ~]# ll /usr/local/nginx/html/*

2、在NGINX上同理部署

解压并移动位置

[root@bogon ~]# ls
anaconda-ks.cfg                   公共  下载
Discuz_X3.5_SC_UTF8_20230726.zip  模板  音乐
initial-setup-ks.cfg              视频  桌面
nginx-1.20.2                      图片
nginx-1.20.2.tar.gz               文档
[root@bogon ~]# unzip Discuz_X3.5_SC_UTF8_20230726.zip
[root@bogon ~]# ls
anaconda-ks.cfg                   readme        图片
Discuz_X3.5_SC_UTF8_20230726.zip  readme.html   文档
initial-setup-ks.cfg              upload        下载
LICENSE                           utility.html  音乐
nginx-1.20.2                      公共          桌面
nginx-1.20.2.tar.gz               模板
qqqun.png                         视频
[root@bogon ~]# mv upload/* /usr/local/nginx/html/
mv:是否覆盖"/usr/local/nginx/html/index.php"? yes

创建程序用户,并修改属主

[root@bogon ~]# useradd nginx -s /sbin/nologin -M
[root@bogon ~]# chown nginx -R /usr/local/nginx/html/*
[root@bogon ~]# ll /usr/local/nginx/html/*
-rw-r--r--  1 nginx root  494 8月  12 00:00 /usr/local/nginx/html/50x.html
-rw-r--r--  1 nginx root 2869 7月  27 00:14 /usr/local/nginx/html/admin.php
-rw-r--r--  1 nginx root  727 7月  27 00:14 /usr/local/nginx/html/api.php

3、浏览器访问测试

按照提示操作

在这一步中将之前在MySQL创建的库名、用户写上(其他的根据需求自己填写)

成功安装


总结

在本次实验中需要注意的问题:

1、关于配置NGINX和php的配置文件时,注意两者地址的关系;在设置访问路径时要两者保持一致;

2、根据Discuz的要求部署适合的php环境

3、书写测试页面,测试是否可以解析网页

4、注意属主的修改

相关文章:

LNMP简易搭建

目录 前言 一、拓扑图 二、NGINX配置 三、配置MySQL 四、配置php环境 五、部署应用 总结 前言 LNMP平台指的是将Linux、Nginx、MySQL和PHP(或者其他的编程语言,如Python、Perl等)集成在一起的一种Web服务器环境。它是一种常用的开发和部署网…...

CClink IE转Modbus TCP网关连接三菱FX5U PLC

捷米JM-CCLKIE-TCP 是自主研发的一款 CCLINK IE FIELD BASIC 从站功能的通讯网关。该产品主要功能是将各种 MODBUS-TCP 设备接入到 CCLINK IE FIELD BASIC 网络中。 捷米JM-CCLKIE-TCP网关连接到 CCLINK IE FIELD BASIC 总线中做为从站使用,连接到 MODBUS-TCP 总线…...

PyTorch 微调终极指南:第 1 部分 — 预训练模型及其配置

一、说明 如今,在训练深度学习模型时,通过在自己的数据上微调预训练模型来迁移学习已成为首选方法。通过微调这些模型,我们可以利用他们的专业知识并使其适应我们的特定任务,从而节省宝贵的时间和计算资源。本文分为四个部分&…...

GO学习之 微框架(Gin)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…...

C语言 字符指针

1、介绍 概念: 字符指针,就是字符类型的指针,同整型指针,指针指向的元素表示整型一样,字符指针指向的元素表示的是字符。 假设: char ch a;char * pc &ch; pc 就是字符指针变量,字符指…...

Springboot所有的依赖

<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 声明springboot的版本号 -->…...

Flutter BottomSheet 三段式拖拽

BottomSheetBehavior 追踪 BottomSheet系统默认实现效果准备要实现的功能点&#xff1a;定义三段式状态&#xff1a;BottomSheetBehavoir阀值定义1. 未达到滚动阀值&#xff0c;恢复状态2. 达到滚动阀值&#xff0c;更新状态 前面倒是有讲过Android原生的BottomSheetBehavior&a…...

php后端实现调用高德地图进行POI搜索

对于当前位置或者选定省市位置进行查询 接口实现 /*** 查询地址* ApiTitle (查询地址)* ApiSummary (查询地址)* ApiMethod (POST)* ApiRoute (/api/demo/address)* ApiParams (name"dart", type"integer", requiredtrue, description"省…...

uniapp 实现滑动视图切换 顶部滚动导航栏

无论小程序的时候一般有这个功能,在页面处于首页时候,滑动视图,切换视图顶部滚动导航也跟着切换 1.想要实现这个功能就需要实现顶部导航栏,首先实现顶部滚导航栏 点击高亮颜色显示 模板代码 <scroll-view scroll-x"true" class"scroll-content" > …...

ArcGIS API for JavaScript 调用自定义地图模板总结

ArcGIS API for JavaScript 调用自定义地图模板总结 3.9版本4.24版本 3.9版本 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Hello World</title><link rel"stylesheet" href&qu…...

QGraphicsView实现简易地图5『经纬网格』

前文链接&#xff1a;QGraphicsView实现简易地图4『局部加载-地图漫游』 由于GCJ02 Web 墨卡托投影 纬度并不随像素等分&#xff0c;且两极跨度较大&#xff0c;因此本次演示采用的经纬网等分逻辑为等分像素。同等像素跨度之间&#xff0c;两级纬度变化较小&#xff0c;越靠近赤…...

RestTemplate 请求转发异常 ERR_CONTENT_DECODING_FAILED 200 (OK)

#1 问题描述 在基于Spring Boot的项目中实现了请求转发&#xff08;使用 RestTemplate 的 exchange 方法&#xff09;的功能&#xff0c;忽然在前端报net::ERR_CONTENT_DECODING_FAILED 200 (OK)的错误&#xff0c;后端及上游系统日志均显示请求已完成。 #2 原因探寻 上述错…...

用python实现一个异或计算器

有这样一条需求&#xff1a;计算某个文件中的数组每一行元素的最后一个参数&#xff0c;异或输出。 因为元素比较多&#xff0c;十几行&#xff0c;通过人工去计算异或值非常困难。 而在线异或的计算器&#xff0c;也需要人为输入这些数值&#xff0c;每次计算一个最终结果需…...

Sketch打不开AI文件?转换方法在这里

1、对比设计软件 Sketch 与 AI 软件功能 Sketch 与 Illustrator 都是行业内优秀的矢量图形设计软件&#xff0c;各有千秋。Sketch 从 2010 年面世&#xff0c;专注 APP 界面设计&#xff0c;深受初学者与专业人士喜爱。Illustrator 拥有更悠久的历史&#xff0c;是处理复杂图标…...

小游戏扫雷实现教学(详解)

目录 【前言】 一、模块化程序设计&#xff08;多文件编程&#xff09;介绍 1.概述 2.传统编程的方式 3.模块化程序设计的方法 二、扫雷代码设计思路 三、扫雷代码设计 1.创建菜单函数 2.实现9x9扫雷 3.初始化棋盘 4.打印棋盘 5.随机布置雷的位置 6.排查雷的信息 7.回…...

04 mysql innodb record

前言 最近看到了 何登成 大佬的 "深入MySQL源码 -- Step By Step" 的 pdf 呵呵 似乎是找到了一些 方向 之前对于 mysql 方面的东西, 更多的仅仅是简单的使用[业务中的各种增删改查], 以及一些面试题的背诵 这里会参照 MySQL Internals Manual 来大致的看一下 i…...

Centos7安装Docker

0.安装Docker Docker 分为 CE 和 EE 两大版本。CE 即社区版&#xff08;免费&#xff0c;支持周期 7 个月&#xff09;&#xff0c;EE 即企业版&#xff0c;强调安全&#xff0c;付费使用&#xff0c;支持周期 24 个月。 Docker CE 分为 stable test 和 nightly 三个更新频道…...

Vue中如何更好地封装组件?

子组件接受父组件传递的事件 1.子组件使用事件名"$emit(父组件中传递的事件名,想给父组件传递的参数(可选))" click"$emit(click)" 2.子组件使用 v-on"$listeners" 父组件&#xff1a; <template><div id"app"><myCo…...

C语言的链表的相关操作

本变博客源于自己想复习一下C语言&#xff0c;所以便自己动手复习了一下链表的相关操作。做个人记录使用。 main.c #include <stdio.h> #include "list.h"int main() {student *a;printf("hello world\n") ;printf("----初始化列表----------\…...

Python3中typing模块

Python类型注解是Python 3.5版本之后引入的新特性&#xff0c;它可以让开发者在函数、变量等声明时为其指定类型。typing模型能够声明类型&#xff0c;防止运行时出现参数和返回值类型不符合的问题。 ### 1. 基本类型注解 def hello(name: str) -> str:return (Hello, na…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

《基于Apache Flink的流处理》笔记

思维导图 1-3 章 4-7章 8-11 章 参考资料 源码&#xff1a; https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

重启Eureka集群中的节点,对已经注册的服务有什么影响

先看答案&#xff0c;如果正确地操作&#xff0c;重启Eureka集群中的节点&#xff0c;对已经注册的服务影响非常小&#xff0c;甚至可以做到无感知。 但如果操作不当&#xff0c;可能会引发短暂的服务发现问题。 下面我们从Eureka的核心工作原理来详细分析这个问题。 Eureka的…...