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

Nginx 网站服务

目录

一:基于授权的访问控制

1:基于授权的访问控制简介

2:基于授权的访问控制步骤

二:基于客户端的访问控制

1:基于客户端的访问控制简介

2:基于客户端的访问控制步骤

三:Nginx 虚拟主机

1:基于域名的虚拟主机

(1)设置客户端域名解析

(2)准备各个网站的目录和测试首页

(3)修改配置文件

(4)测试

2:基于 IP 的虚拟主机

(1)为服务器设置多个IP地址

(2)修改 Nginx的配置文件,使基于 IP 的虚拟主机生效

3:基于端口的虚拟主机

四:LNMP 架构部署及应用

1:编译安装 MySQL 服务

2:安装 PHP 解析环境

(1)编译安装 PHP

(2)安装后调整

(3)安装 ZendGuardLoader

3:配置 Nginx 支持 PHP 环境

4:在 LNMP 平台中部署 Web 应用


一:基于授权的访问控制

1:基于授权的访问控制简介

  Nginx与 Apahce 一样,可以实现基于用户授权的访问控制,当客户端想要访问相应网站或者目录时,要求用户输入用户名和密码才能正常访问,配置步骤与 Apache 基本一致。概括为以下几个步骤。

  • 生成用户密码认证文件。
  • 修改主配置文件相对应目录,添加认证配置项。
  • 重启服务,访问测试。

2:基于授权的访问控制步骤

(1)使用 htpasswd 生成用户认证文件

[root@localhost ~]# yum-y install httpd-tools
[root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db test
[root@localhost ~]# cat /usr/local/nginx/passwd.db

(2)修改密码文件权限为 400,将所有者改为 nginx,设置 Nginx 的运行用户能够读取。

[root@localhost ~# chmod 400 /usr/local/nginx/passwd. db
[root@localhost ~# chown nginx /usr/local/nginx/passwd. db
[root@localhost ~# 1l-d /usr/local/nginx/passwd. db

(3)修改主配置文件 nginx.conf,添加相应认证配置项。

[root@localhost # vim /usr/local/nginx/conf/nginx.conf
server {location / {auth basic "secret"auth basic user file /usr/local/nginx/passwd.db;}
}

(4)检测语法、重启服务。

[root@localhost#nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx. conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost # systemctl restart nginx

(5)用浏览器访问网址,检验控制效果,如图 5.2所示。需要输入用户名和密码进行访问,验证通过才能访问到页面。

二:基于客户端的访问控制

1:基于客户端的访问控制简介

  基于客户端的访问控制是通过客户端IP地址,决定是否允许对页面访问Nginx 基于客户端的访问控制要比 Apache 简单,规则如下:

  • deny IP/IP 段:拒绝某个IP或IP 段的客户端访问
  • allow IP/IP 段:允许某个IP或IP 段的客户端访问。
  • 规则从上往下执行,如匹配则停止,不再往下匹配。

2:基于客户端的访问控制步骤

(1)修改主配置文件 nginx.conf,添加相应配置项。

location / {
        root html;
        index index.html index.htm;
#        auth basic "secret";
#        auth basic user file /usr/local/nginx/passwd.db;
          deny 192.168.10.3;
          allow all;

}

三:Nginx 虚拟主机

1:基于域名的虚拟主机

(1)设置客户端域名解析

修改 hosts 文件,加入www.benet.com 和 www.accp.com 这两个域名

192.168.10.101 www.benet.com

192.168.10.101 www.accp.com

(2)准备各个网站的目录和测试首页

[root@localhost ~]# mkdir -p /var/www/html/benet!
[root@localhost ~]# mkdir -p /var/www/htmllaccp!
[root@localhost ~# echo "www.benet.com''>> /var/www/html/benet/index.html
[root@localhost ~]# echo"www.accp.com">>/var/www/html/accp/index.html

(3)修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
server {listen       80;server_name  www.benet.com;access_log  logs/www.benet.com.access.log;charset utf-8;location / {root   /var/www/html/benet;index  index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root   html;}
}
server {listen       80;server_name  www.accp.com;access_log  logs/www.accp.com.access.log;charset utf-8;location / {root   /var/www/html/accp;index  index.html index.htm;}error_page 500 502 503 504 /50x.html;location = /50x.html {root   html;}
}

(4)测试

2:基于 IP 的虚拟主机

  一台主机如果有多个 IP 地址,可以设置每一个 IP 对应一个站点。主机安装多个网卡可以有多个 IP,这里采用虚拟 IP 的方式使主机有多个 IP。

(1)为服务器设置多个IP地址

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1
[root@localhost network-scripts]# vim ifcfg-ens33:0
IPADDR=192.168.10.151
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=223.6.6.6
NAME=ens33:0
DEVICE=ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:1
IPADDR=192.168.10.152
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=223.6.6.6
NAME=ens33:1
DEVICE=ens33:1
[root@localhost network-scripts]# nmcli c reload
[root@localhost network-scripts]# nmcli c up ens33
[root@localhost network-scripts]# ip add

(2)修改 Nginx的配置文件,使基于 IP 的虚拟主机生效

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf server {listen       192.168.10.151:80;server_name  www.benet.com;
.....}server {listen       192.168.10.152:80;server_name www.accp.com;
.....
}[root@localhost ~]# systemctl restart nginx

3:基于端口的虚拟主机

(1)选择系统中不使用的端口,多个端口映射到同一 IP 地址

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf server {listen       192.168.10.101:8080;server_name  www.benet.com;
.....}server {listen       192.168.10.101:8888;server_name www.accp.com;
.....
}
[root@localhost ~]# systemctl restart nginx

(2)检测端口是否运行正常

[root@localhost ~]# netstat -anpt | grep nginx

(3)分别访问 2 个端口地址

四:LNMP 架构部署及应用

1:编译安装 MySQL 服务

(1)编译安装 MySQL 服务

[root@www ~]# yum install -y autoconf

备注:

  Autoconf是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的 shell脚本的工具。

[root@localhost ~]# yum -y install ncurses-devel gcc-c++ perl-Module-Install cmake
[root@localhost ~]# tar -zxvf mysql-5.6.36.tar.gz
[root@localhost ~]# cd mysql-5.6.36/
[root@localhost mysql-5.6.36]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc
[root@localhost mysql-5.6.36]# make && make install

(2)复制配置文件到/etc 下,并把 MySQL 添加到服务

[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf 
[root@localhost mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.36]# chmod +x /etc/rc.d/init.d/mysqld 
[root@localhost mysql-5.6.36]# chkconfig --add mysqld 
[root@localhost mysql-5.6.36]# chkconfig mysqld on[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile 
[root@localhost mysql-5.6.36]# . /etc/profile

(3)初始化数据库

[root@localhost ~]# groupadd mysql 
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql [root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

(4)启动 mysql,并设置密码

[root@localhost ~]# systemctl start mysqld 
[root@localhost ~]# mysqladmin -u root password '123.com'

2:安装 PHP 解析环境

(1)编译安装 PHP

[root@localhost ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel 

备注:

  • libxml2-devel:libxml是一个用来解析XML文档的函数库
  • libjpeg-devel  #是一个完全用C语言编写的库,包含了被广泛使用的JPEG解码、JPEG编码和其他的JPEG功能的实现  
  • libpng-devel   #libpng 是一套免费的、公开源代码的程序库,支持对 PNG 图形文件的创建、读写等操作  
  • GD指的是Graphic Device,PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片。PHP除了能进行文本处理以外,通过GD库,可以对JPG、PNG、GIF、SWF等图片进行处理
  • zlib-devel   #Zlib是一个压缩和解压模块
[root@localhost ~]#tar -zxvf php-5.5.38.tar.gz
[root@localhost ~]#cd php-5.5.38/ 
[root@localhost php-5.5.38]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--enable-fpm \
--with-jpeg-dir=/usr/lib

(2)安装后调整

[root@localhost php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini 
[root@localhost php-5.5.38]# ln -s /usr/local/php5/bin/* /usr/local/bin/ 
[root@localhost php-5.5.38]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

(3)安装 ZendGuardLoader

[root@localhost ~]# tar -zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz
[root@localhost ~]# cd zend-loader-php5.5-linux-x86_64/ 
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ 
[root@localhost zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini 

添加下列内容:

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so

zend_loader.enable=1

3:配置 Nginx 支持 PHP 环境

1)启用 php-fpm 进程

[root@localhost ~]# cd /usr/local/php5/etc/ 
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf 
[root@localhost etc]# useradd -M -s /sbin/nologin php 
[root@localhost etc]# vim php-fpm.conf[root@localhost etc]# /usr/local/sbin/php-fpm 
[root@localhost etc]# netstat -anpt | grep php-fpm[root@localhost ~]# vim /lib/systemd/system/php-fpm.service
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start php-fpm

(2)配置 Nginx 支持 PHP 解析

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 
Server{ 
listen 80; 
server_name www.bt.com; location / {root   /var/www/html;index  index.html index.htm index.php;}location ~ \.php$ {root           /var/www/html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;include        fastcgi.conf;}
}

3PHP 页面访问测试

[root@localhost ~]# mkdir -p /var/www/html/ 
[root@localhost ~]# vim /var/www/html/test1.php 
<?php 
phpinfo();
?>[root@localhost ~]# vim /var/www/html/test2.php 
<?php 
$link=mysqli_connect('127.0.0.1','root','pwd123'); 
if($link) echo "<h1>恭喜你,数据库连接成功啦!!!</h1>"; 
mysqli_close($link); 
?>

4:在 LNMP 平台中部署 Web 应用

(1)下载并部署程序代码

[root@localhost ~]# yum -y install unzip
[root@localhost ~]# unzip Discuz_X3.3_SC_UTF8.zip 
[root@localhost ~]# mkdir -p /var/www/html/bbs 
[root@localhost ~]# mv upload/* /var/www/html/bbs 
[root@localhost ~]# chown -R php:php /var/www/html/bbs/

(2)创建数据库

[root@localhost ~]# mysql -uroot -p 
mysql>create database bbs; 
mysql>grant all on bbs.* to runbbs@127.0.0.1 identified by 'bbs123';
mysql>grant all on bbs.* to runbbs@'localhost' identified by 'bbs123';

(3) 安装 Web 应用 

访问服务器 URL 地址,对网站进行初始化

http://192.168.10.101/bbs/install/index.php

相关文章:

Nginx 网站服务

目录 一&#xff1a;基于授权的访问控制 1&#xff1a;基于授权的访问控制简介 2&#xff1a;基于授权的访问控制步骤 二&#xff1a;基于客户端的访问控制 1&#xff1a;基于客户端的访问控制简介 2&#xff1a;基于客户端的访问控制步骤 三&#xff1a;Nginx 虚拟主机…...

Python 字典的用法和技巧

字典的创建与初始化 Python 字典是一种可变容器模型&#xff0c;可存储任意类型对象。字典的每个键值对用冒号分隔&#xff0c;键值对之间用逗号分隔&#xff0c;整个字典包括在花括号中。 # 创建一个空字典 empty_dict {}# 创建一个包含键值对的字典 my_dict {name: Alice…...

电力设备制造企业数字化转型路径研究:从生产优化到生态重构

电力设备制造业作为支撑能源革命的核心领域&#xff0c;其数字化转型不仅关乎企业降本增效&#xff0c;更是实现“双碳”目标与新型电力系统建设的关键抓手。本文基于行业标杆案例与实践经验&#xff0c;系统梳理电力设备企业数字化转型的五大核心路径。 一、生产流程智能化&a…...

初识GPU加速:如何利用GPU提升AI训练效率

随着人工智能(AI)和深度学习技术的快速发展,训练深度神经网络(DNN)已经变得越来越复杂和计算密集。传统的CPU已经无法满足大量计算任务的需求,因此,GPU(图形处理单元)成为了训练深度学习模型时的必备工具。本篇文章将介绍如何利用GPU加速AI训练效率,以及在使用GPU时应…...

深入解析异步编程:Java NIO、Python `async/await` 与 C# `async/await` 的对比

在现代编程中&#xff0c;异步编程已成为处理 I/O 密集型任务&#xff08;如网络请求、文件操作等&#xff09;的高效方式。不同的编程语言提供了各自的异步编程模型&#xff0c;以提高程序的性能和资源利用率。本文将深入解析 Java 的 NIO、Python 的 async/await 和 C# 的 as…...

阿里云数据盘级别

数据盘PL0、PL1、PL2和PL3的区别体现在性能、容量范围以及应用场景等方面。具体分析如下&#xff1a; 性能 PL0&#xff1a;单盘最大IOPS为10,000&#xff0c;最大吞吐量为180MB/s。适用于中小型MySQL和SQLServer等数据库场景&#xff0c;中小规模ELK日志集群&#xff0c;SAP和…...

使用 Spring AI Alibaba 集成阿里云百炼大模型应用

随着人工智能技术的飞速发展&#xff0c;大模型在各个领域的应用越来越广泛。阿里云百炼大模型提供了强大的语言理解和生成能力&#xff0c;但如何将其高效地集成到实际应用中&#xff0c;一直是开发者关注的焦点。本文将详细介绍如何使用 Spring AI Alibaba 集成阿里云百炼大模…...

阿里云合集(不定期更新)

一、阿里云申请免费域名证书流程&#xff1a;https://blog.csdn.net/humors221/article/details/143266059 二、阿里云发送国内短信怎样编程&#xff1a;https://blog.csdn.net/humors221/article/details/139544193 三、阿里云ECS服务器磁盘空间不足的几个文件&#xff1a;h…...

零基础设计模式——创建型模式 - 抽象工厂模式

第二部分&#xff1a;创建型模式 - 抽象工厂模式 (Abstract Factory Pattern) 我们已经学习了单例模式&#xff08;保证唯一实例&#xff09;和工厂方法模式&#xff08;延迟创建到子类&#xff09;。现在&#xff0c;我们来探讨创建型模式中更为复杂和强大的一个——抽象工厂…...

ConcurrentHashMap导致的死锁事故

事故现象 某线上服务共100台容器&#xff0c;第二天上午流量高峰期部分容器&#xff08;约10%&#xff09;cpu飙升&#xff0c;升至100%。 部分堆栈信息 堆栈信息如下如所示&#xff1a; 当前线程堆栈显示在JsonContext.get方法中调用computeIfAbsent&#xff0c;其Lambda表…...

Python高效网络爬虫开发指南

Python 网络爬虫入门与实战 一、引言 随着互联网数据的爆炸性增长&#xff0c;获取和分析这些数据变得越来越重要。网络爬虫作为数据采集的重要工具&#xff0c;在这其中扮演了不可或缺的角色。 二、环境搭建 首先我们需要安装Python环境以及一些必要的库&#xff1a; req…...

关于C++使用位运算交换变量值的分析

1、使用临时变量交换 交换变量的值&#xff0c;最常见的方法就是用临时变量。 void swap1(int& a, int& b){int c a;a b;b c; }清晰明了。 2、位运算版 对于整数类型&#xff0c;相信很多人都见过下面方法&#xff0c;可以使用位运算&#xff0c;从而不借用临时…...

06 接口自动化-框架封装思想建立之httprunner框架(下)

文章目录 一、httprunner如何实现数据驱动第一种&#xff1a;直接在脚本里面指定参数列表&#xff0c;最简单。适合于参数比较少的情况。第二种&#xff1a;使用CSV文件&#xff0c;适合于参数比较大的情况。第三种方式&#xff1a;使用函数生成数据&#xff0c;适用于数据变化…...

Dirsearch 深度使用教程:从基础扫描到携带 Cookie 探索网站

在网络安全测试和网站信息收集过程中&#xff0c;Dirsearch 是一款强大的开源工具&#xff0c;能够快速扫描网站&#xff0c;找出潜在的目录和文件。而当面对需要登录才能访问的网站资源时&#xff0c;通过携带 Cookie 扫描&#xff0c;Dirsearch 可以模拟已登录状态&#xff0…...

垃圾回收(GC)基础原理全面解析

掌握 GC 原理,是高效 Java 开发的第一步! 前言 垃圾回收(Garbage Collection,简称 GC)是 Java 的核心优势之一,它让开发者无需手动管理内存,极大降低了内存泄露和悬挂指针的风险。但当应用进入高并发、大数据量的场景时,GC 机制本身反而会成为性能瓶颈。 理解 GC 的原…...

海康NVR录像回放SDK原始流转FLV视频流:基于Java的流媒体转码(无需安装第三方插件ffmpeg)

wlinker-video-monitor 代码地址&#xff1a;https://gitee.com/wlinker/wlinker-video-monitor 背景与需求 在安防监控、智能楼宇等场景中&#xff0c;海康威视设备作为行业主流硬件&#xff0c;常需要将录像回放功能集成到Web系统中。然而&#xff0c;海康设备的原始视频流…...

【项目】SpringBoot +MybatisPlus集成多数据源

引言 应项目需求&#xff0c;需要引入另外的Mysql数据库&#xff0c;但是项目已经引入一个Mysql&#xff0c;这时有几种方案 通过Dynamic-DataSource 框架&#xff0c;无缝集成 但是是动态切换数据源的&#xff0c;跟项目需求不符合&#xff0c;于是采取第二种通过自定义数据…...

Suricata 3规则介绍、以及使用

列出更新源列表&#xff08;有好多个规则源&#xff0c;后面有介绍的&#xff09; suricata-update list-sourcesName: sslbl/ja3-fingerprintsVendor: Abuse.chSummary: Abuse.ch Suricata JA3 Fingerprint RulesetLicense: CC0-1.0 Name: malsilo/win-malwareVendor: malsil…...

基于OpenCV的物体跟踪:CSRT算法

文章目录 引言一、系统概述二、CSRT算法简介三、核心代码解析1. 初始化跟踪器和摄像头2. 主循环结构3. 目标选择与跟踪初始化4. 目标跟踪与结果显示5. 资源释放 四、系统使用说明五、完整代码六、总结 引言 目标跟踪是计算机视觉领域的重要应用之一&#xff0c;广泛应用于视频…...

面向未来,遨游推出5G-A智能防爆对讲机等系列终端

从5G扬帆到5G-A启航&#xff0c;遨游通讯始终立于技术潮头。在通信技术加速向5G-A演进的关键节点&#xff0c;遨游通讯旗舰产品AORO M6 Pro智能防爆对讲机&#xff0c;不仅实现了芯片到系统架构的全面自主可控&#xff0c;更通过5G-A技术的高速率、低时延、广连接与通感一体能力…...

qt浏览文件支持惯性

#include <QApplication> #include <QListWidget> #include <QScroller> #include <QScrollerProperties>int main(int argc, char *argv[]) {QApplication app(argc, argv);// 创建列表控件并添加示例项QListWidget listWidget;for (int i 0; i <…...

算子窗口操作

抠图 (提取图像感兴趣的区域) * 使用halcon 抠图* 窗体属性设设置: 设置窗体绘制图案的模式 magrin边框模式(只有一个边框) * fill填充模式(边框内部会有一个遮罩层) dev_set_draw (fill)* 设置颜色 dev_set_color (green) * 设置线宽dev_set_line_width (5)read_image (Im…...

如何提灯验车

✅ 重点  车标倾斜特别严重  导航定位不准  发动机顿挫异响  自动门把手关闭时异响  底盘有划痕和主驾位与扶手箱位置间隙过小磨损  蓝牙钥匙解锁异常&#xff0c;开关解锁不灵敏  空调无法制冷  灯罩有划痕  开启大灯就有嗡嗡嗡的异响 ✅ 一、文件与证件检…...

人工智能在生物医学研究中的创新应用

随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;其在生物医学领域的应用逐渐成为研究热点。AI不仅为生物医学研究提供了强大的工具&#xff0c;还在疾病诊断、药物研发、基因编辑等方面展现出巨大的潜力。本文将探讨人工智能在生物医学研究中的创新应用&…...

迁移学习实战:用预训练模型解决小样本图像分类

🚀 迁移学习实战:用预训练模型解决小样本图像分类(PyTorch实现) 当我们没有成千上万的训练样本时,如何训练一个表现良好的图像分类模型?答案是——迁移学习。本篇将带你用 PyTorch 快速上手迁移学习,用预训练模型(如 ResNet18)解决小样本分类问题。 🧠 一、什么是迁…...

html,js获取扫码设备的输入内容

<script type"text/javascript"><!-- window.onload function () {// 获取扫描的二维码内容 var code ""; var lastTime, nextTime; var lastCode, nextCode; document.onkeypress function (e) { nextCode e.which; ne…...

项目执行中缺乏风险管理,如何预防潜在问题?

要预防潜在问题&#xff0c;必须在项目执行中融入建立全面的风险识别机制、制定应对策略、实施动态监控、强化团队风险意识、定期评估与复盘。其中&#xff0c;建立全面的风险识别机制至关重要。项目初期若未进行系统性的风险识别&#xff0c;就很难在项目过程中及时应对变化&a…...

树形展示三级分类数据

vue3 实现多级分类_产品设计 平台端添加多个二级三级分类的页面-CSDN博客...

大模型如何助力数学可视化?

大家好&#xff0c;我是 i 学习的老章 在数学学习和教学中&#xff0c;将抽象概念可视化对于理解至关重要。Manim 是一个强大的数学动画引擎&#xff0c;由著名数学科普视频作者 3Blue1Brown 开发并广为人知。 老章较早之前就介绍过 manim&#xff1a;B 站上爆红的数学视频&a…...

什么是endpoints?

在 Kubernetes 中&#xff0c;Endpoints 是一个资源对象&#xff0c;它表示服务&#xff08;Service&#xff09;到 Pod 的网络连接。 Endpoints 的主要作用是将服务的虚拟 IP 地址映射到实际的 Pod IP 地址&#xff0c;从而实现服务发现和负载均衡。 1.Endpoints 的作用 服务…...

基于 Redis 实现短信验证码登录功能的完整方案

&#x1f9f1; 一、技术栈与依赖配置 使用 Spring Boot Redis 实现短信验证码登录&#xff0c;以下是推荐的 Maven 依赖&#xff1a; <dependencies><!-- Spring Boot Web --><dependency><groupId>org.springframework.boot</groupId><ar…...

监控易一体化运维:拥有全部核心技术,助力国产化信创运维

在数字化转型浪潮与信创产业蓬勃发展的当下&#xff0c;企业对运维系统的要求愈发严苛。随着数字化领域的巨大变迁&#xff0c;一款强大且适配信创环境的运维系统对企业的重要性不言而喻。今天&#xff0c;让我们一同深度剖析监控易系统在信创领域展现出的卓越优势。 信创产业&…...

微 PE , USM 魔术师两款 PE 对比

微 PE 和 USM 魔术师两款 PE 各有特点&#xff1a; 纯净度 微 PE&#xff1a;没有植入强制性、商业性软件和链接&#xff0c;也没有病毒和木马&#xff0c;非常纯净。USM 魔术师&#xff1a;同样无广告、无流氓、无捆绑、无后门&#xff0c;从官方途径下载能保证纯净度。 功能…...

测试模版1

本篇技术博文摘要 &#x1f31f; 引言 &#x1f4d8; 在这个变幻莫测、快速发展的技术时代&#xff0c;与时俱进是每个IT工程师的必修课。我是盛透侧视攻城狮&#xff0c;一名什么都会一丢丢的网络安全工程师&#xff0c;也是众多技术社区的活跃成员以及多家大厂官方认可人员&a…...

elementUI 中el-date-picker和el-select的样式调整

1. el-date-picker <el-date-picker class"select1" size"small" v-model"timeRangeArr" type"daterange" align"right" unlink-panels range-separator"至" start-placeholder"开始日期" end-pla…...

基于亚马逊云科技构建音视频直播审核方案

1. 前言 随着互联网内容形态的多样化发展&#xff0c;用户生成内容&#xff08;UGC&#xff09;呈现爆发式增长。社交平台、直播、短视频、语聊房等应用场景中&#xff0c;海量的音视频内容需要进行实时审核&#xff0c;以维护平台安全与用户体验。 然而&#xff0c;企业在构…...

Vue3 组件之间传值

在 Vue3 中&#xff0c;组件之间的数据传递主要有以下几种方式&#xff0c;适用于不同的场景&#xff1a; 一、父组件向子组件传值&#xff1a;props 1. 子组件定义 props <!-- ChildComponent.vue --> <script setup> // 组合式 API&#xff08;推荐&#xff09…...

深入理解用于中断控制的 NVIC 寄存器

NVIC 中有多个用于中断控制的寄存器&#xff08;异常类型 16~255&#xff09;&#xff0c;这些寄存器位于系统控制空间&#xff08;SCS&#xff09;地址区域。下表是这些寄存器的概览&#xff1a; 除了软件触发寄存器&#xff08;STIR&#xff09;外&#xff0c;所有这些寄存器…...

Podman(Pod Manager)简介

Podman 简介 Podman&#xff08;Pod Manager&#xff09;是一个开源的容器管理工具&#xff0c;由红帽&#xff08;Red Hat&#xff09;开发&#xff0c;用于替代 Docker&#xff0c;支持运行、管理 OCI&#xff08;Open Container Initiative&#xff09;容器和容器镜像。它设…...

HarmonyOS NEXT端云一体化工程目录结构

视频课程学习报名入口:HarmonyOS NEXT端云一体化开发 端云一体化开发工程由端开发工程(Application)和云开发工程(CloudProgram)两大核心模块构成。 1)端开发工程目录结构 端开发工程主要用于开发应用端侧的业务代码,通用云开发模板的端开发工程目录结构如下图所示: …...

【C++ 真题】P1075 [NOIP 2012 普及组] 质因数分解

P1075 [NOIP 2012 普及组] 质因数分解 题目描述 已知正整数 n n n 是两个不同的质数的乘积&#xff0c;试求出两者中较大的那个质数。 输入格式 输入一个正整数 n n n。 输出格式 输出一个正整数 p p p&#xff0c;即较大的那个质数。 输入输出样例 #1 输入 #1 21输…...

力扣热题100,力扣148.排序链表力扣.26找出字符串中第一个匹配项的下标力扣146.LRU缓存序列管理器

目录 力扣148.排序链表 力扣.26找出字符串中第一个匹配项的下标 力扣146.LRU缓存 序列管理器 力扣148.排序链表 那个O1,暂时我没有考虑&#xff0c;但是这个nlogn,我就想什么时候会有log呢&#xff0c;应该是2的次幂方向思考&#xff0c;一说2&#xff0c;是否能想到2分呢&…...

防火墙高可靠性

防火墙高可靠性技术概述 防火墙高可靠性技术分为两类&#xff1a;设备高可靠性和链路高可靠性 防火墙双机热备 双机热备概述及相关协议 HRP协议&#xff1a;即Huawei Redundancy Protocol&#xff0c;主要用于实现防火墙双机之间关键配置命令和状态化信息的备份&#xff0c;…...

C++ stack对象创建、入栈、获取栈顶

stack对象创建直接调用C对应的<stack>&#xff0c;进行创建 #include<iostream> #include<stack>using namespace std;int main() {// 1 默认构造函数stack<int> stk1;// 2 拷贝构造函数stack<int> stk2;stk1 stk2;return 0;} 入栈操作有一条…...

x-cmd install | Pillager:Go 语言打造的敏感信息文件系统扫描利器

目录 Pillager 的独特优势安装Pillager 的应用场景Pillager 的核心功能 还在为文件系统中潜在的敏感信息泄露而担忧吗&#xff1f;Pillager 是一款由 Go 语言编写的强大工具&#xff0c;旨在帮助你轻松扫描文件系统&#xff0c;发现隐藏的密钥、密码、API 令牌等敏感信息。 Pil…...

第9.1讲、Tiny Encoder Transformer:极简文本分类与注意力可视化实战

项目简介 本项目实现了一个极简版的 Transformer Encoder 文本分类器&#xff0c;并通过 Streamlit 提供了交互式可视化界面。用户可以输入任意文本&#xff0c;实时查看模型的分类结果及注意力权重热力图&#xff0c;直观理解 Transformer 的内部机制。项目采用 HuggingFace …...

asp.net web form nlog的安装

一、安装NuGet包 ‌核心包安装‌ NLog提供日志记录核心功能 NLog.Config自动生成默认配置文件模板 配置NLog文件 ‌配置文件创建‌ 项目根目录自动生成NLog.config文件&#xff08;通过NuGet安装NLog.Config时创建&#xff09; <?xml version"1.0" encoding&…...

定时器的两种实现方式

1、基于优先级队列/堆 队列是先进先出&#xff0c;优先级队列是优先级越高就存放在队列之前&#xff0c;我们可以将过期时间越早设置为优先级越高&#xff0c;那么临近过期时间的任务就会在队列前面&#xff0c;距离过期时间越晚的任务就在队列后面。 可以分配一个线程&#…...

2025.05.21华为暑期实习机考真题解析第一题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 01. 智能云任务分发系统 问题描述 卢小姐负责一家云计算公司的任务分发系统开发。该系统需要根据任务优先级和到达顺序进行智能调度,支持以下两种操作: 添加任务 add task_id pri…...

计算机网络-MPLS VPN报文转发

上一章学习了MPSL VPN的路由交互过程&#xff0c;VPN间学习到路由之后可以进行报文的转发了。 一、MPLS VPN报文转发过程 以图中用户X的站点B访问站点A的192.168.1.0/24网段为例&#xff0c;报文转发过程如下&#xff1a; 1.CE3上存在到192.168.1.0/24网段路由&#xff0c;发…...