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

麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构

   如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情

        之前咱们学习了LNMP架构,但是PHP对于技术来说确实是老掉牙了,PHP的市场占有量越来越少了,我认识一个10年的PHP开发工程师,十年工资从15k到今天的6k,现在比较主流的是Java+前端实现界面访问,但是Java需要特定的web服务进行解析展示今天咱们学习tomcat的安装部署,话不多说直接开干~~~~

目录

一、安装java环境,配置tomcat

二、部署Java环境的Tomcat部署zrlog项目

三、搭建LNMT架构(https+nginx负载均衡+mysql数据库+tomcat服务)

四、配置session会话保持

💬欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!

👍点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!

🚀推广给更多人:如果你认为这篇文章对你有帮助,欢迎分享给更多对Linux感兴趣的朋友,让我们一起进步,共同提升!

一、安装java环境,配置tomcat

安装java环境yum install java -y
或者上传rpm包
rpm -ivh  jdk....rpm
查看是否安装成功
[root@web01 ~]# rpm -qa|grep jdk
jdk1.8-1.8.0_181-fcs.x86_64
安装tomcat(下载 Tomcat、解压、启动 )
Tomcat官网: https://tomcat.apache.org/
[root@web01 ~]#wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.98/bin/apache-tomcat-9.0.98.tar.gz
[root@web01 ~]#mkdir /soft
[root@web01 ~]#tar xf  apache-tomcat-9.0.98.tar.gz  -C /soft/
[root@web01 ~]#ln -s /soft/apache-tomcat-9.0.98/ /soft/tomcat
[root@web01 ~]# /soft/tomcat/bin/startup.sh     # 启动
[root@web01 ~]# /soft/tomcat/bin/shutdown.sh    # 停止
# 8080 对外提供服务的端口    # 8005 关闭Tomcat端口
[root@web01 ~]# netstat -lntp |grep java
tcp6    0    0 127.0.0.1:8005      :::*           LISTEN    6867/java       
tcp6    0    0 :::8080            :::*           LISTEN    6867/java
配置systemc方式启动
[root@web01 soft]#vim /usr/lib/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat Server
After=network.target remote-fs.target nss-lookup.target
​
[Service]
Type=forking
ExecStart=/soft/tomcat/bin/startup.sh
ExecStop=/soft/tomcat/bin/shutdown.sh
ExecRestart=/soft/tomcat/bin/shutdown.sh  && sleep2  && /soft/tomcat/bin/star
tup.sh
​
[Install]
WantedBy=multi-user.target
重载tomcat,加入开机自启
[root@web01 ~]# systemctl daemon-reload
[root@web01 ~]#systemctl enable  tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service.
tomcat配置文件
tomcat软件目录结构:
bin          ---主要包含启动和关闭tomcat的脚本(启停java脚本依赖jar包文件)
conf            ---tomcat配置文件的目录(站点配置:server.xml)
lib           ---tomcat运行时需要加载的jar包
logs            ---tomcat日志存放位置
temp            ---tomcat临时存放文件路径
webapps       ---tomcat默认站点目录
work            ---tomcat运行时产生的缓存文件
​
关闭防火墙
[root@web01 ~]#systemctl stop firewalld.service iptables
[root@web01 ~]#systemctl disable firewalld.service iptables
​
​
测试:添加一个虚拟主机
[root@web01 conf]#vim server.xml<Host name="www.yuxiaopi.cn"  appBase="/code/tomcat"unpackWARs="true" autoDeploy="true"><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="yuxiaopi" suffix=".log"pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>
mkdir -p /code/tomcat/ROOT
[root@web01 conf]#echo 学运维找小屁 >/code/tomcat/ROOT/index.html
[root@web01 conf]#vim /code/tomcat/ROOT/index.html
<?xml version="1.0" encoding="UTF-8"?>
学运维找小屁

二、部署Java环境的Tomcat部署zrlog项目

定义虚拟主机
[root@web01 conf]#vim server.xml 
<Host name="zrlog.yunzhongzi.com"  appBase="/code/zrlog"    #添加域名和软件存放的位置unpackWARs="true" autoDeploy="true">
​<Valve className="org.apache.catalina.valves.AccessLogValve" 
directory="logs"prefix="zrlog" suffix=".log"     #修改日志文件的名称pattern="%h %l %u %t &quot;%r&quot; %s %b" /></Host>
配置环境
[root@web01 conf]#mkdir /code/zrlog/ROOT -p
[root@web01 conf]#cd /code/zrlog
将准备好的ROOT.war文件拖拽至zrlog(环境里可以自动解压war包,如果没解压可以重启tomcat服务)
进入10.0.0.51服务器新建zrlog数据库
[root@db01 ~]#mysql -uroot -pqy123.com
MariaDB [(none)]> create database zrlog;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| she                |
| test               |
| wp                 |
| zrlog              |
+--------------------+
windows端做完hosts解析
访问zrlog.yunzhongzi.com创建即可

三、搭建LNMT架构(https+nginx负载均衡+mysql数据库+tomcat服务)

配置nfs
web01操作如下
[root@web01  ~]# scp -rp /soft  10.0.0.8:/
[root@web01  ~]# scp -rp /code/zrlog  10.0.0.8:/code/zrlog
[root@web01 ~]# scp /usr/lib/systemd/system/tomcat.service  172.16.1.8:/usr/lib/systemd/system/tomcat.service
web02操作如下
[root@web02 ~]#ln -s /soft/apache-tomcat-9.0.98/ /soft/tomcat
[root@web02 ~]# systemctl daemon-reload
[root@web02 ~]# systemctl start tomcat
[root@web02 ~]# systemctl enable tomcat
Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /usr/lib/systemd/system/tomcat.service.
[root@web02 ~]# yum install nfs-utils -y
配置nfs共享目录
[root@nfs  ~]# cat /etc/exports
[root@nfs ~]#vim /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/code/wp 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/code/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
新建挂载的目录
[root@nfs code]#mkdir zrlog
修改目录权限
[root@nfs code]#chown -R www.www zrlog
[root@nfs code]#ll
total 0
drwxr-xr-x 2 www www  6 May  9 22:39 she
drwxr-xr-x 3 www www 18 Apr 27 20:25 wp
drwxr-xr-x 2 www www  6 May 10 17:17 zrlog
重启nfs
[root@nfs code]#systemctl restart nfs
挂载(部署playbook的时候写入开机自动挂载)
[root@web02 image]#mount -t nfs 172.16.1.31:/code/zrlog /code/zrlog/ROOT/attached/
配置负载均衡
[root@lb01 conf.d]#vim zrlog.conf 
upstream zrlog {server 10.0.0.7:8080;server 10.0.0.8:8080;
}
server {listen 443 ssl;server_name zrlog.yunzhongzi.com;ssl_certificate ssl_key/server.crt;ssl_certificate_key ssl_key/server.key;
​location / {proxy_pass http://zrlog;include proxy_params;}
}
server {listen 80;server_name zrlog.yunzhongzi.com;return 302 https://$server_name$request_uri;
}
密钥文件已经存在服务器直接引用即可(但记得调整web端的服务的属主属组为www)

四、配置session会话保持

db01上的redis会话保持功能已经安装完成并开启
[root@web01 ~]# wget https://github.com/ran-jit/tomcat-cluster-redis-session-manager/releases/download/4.0/tomcat-cluster-redis-session-manager.zip
1.解压zip包   
[root@web01 ~]# unzip tomcat-cluster-redis-session-manager.zip
2.拷贝jars到tomcat的/lib目录中
[root@web01 ~]# cp tomcat-cluster-redis-session-manager/lib/* /soft/tomcat/lib/
3.拷贝conf下的redis.properties文件,到tomcat的conf文件
[root@web01 ~]# cp tomcat-cluster-redis-session-manager/conf/redis-data-cache.properties /soft/tomcat/conf/
4.将配置文件中连接redis地址修改为如下地址即可
[root@web01 ~]# vim /soft/tomcat/conf/redis-data-cache.properties
redis.hosts=172.16.1.51:6379
5.添加如下两行至tomcat/conf/context.xml  (添加在</Context> 上一行 )
[root@web01 ~]# vim /soft/tomcat/conf/context.xml
<Valve className="tomcat.request.session.redis.SessionHandlerValve" />
<Manager className="tomcat.request.session.redis.SessionManager" />
注意: 修改完一台直接和另外一台进行无差异同步rsync --delete
修改完成后重启Tomcat

今天的LNMT架构就介绍到这里了,接下来介绍一下nginx的优化和防火墙~~~


想成为大佬,就要从小白开始,从0开始,一点一点的积累,慢慢成长,明天你就是大佬!!想学习更多麒麟操作系统的知识,关注小屁,让你成为运维老鸟~~~~~ 

相关文章:

麒麟操作系统服务架构保姆级教程(十三)tomcat环境安装以及LNMT架构

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 之前咱们学习了LNMP架构&#xff0c;但是PHP对于技术来说确实是老掉牙了&#xff0c;PHP的市场占有量越来越少了&#xff0c;我认识一个10年的PHP开发工程师&#xff0c;十年工资从15k到今天的6k&am…...

Docker集成onlyoffice实现预览功能

1.拉取镜像 docker pull onlyoffice/documentserver 2. 数据卷挂载 mkdir -p app/onlyoffice/DocumentServer/logs mkdir -p app/onlyoffice/DocumentServer/data mkdir -p app/onlyoffice/DocumentServer/lib mkdir -p app/onlyoffice/DocumentServer/db 3.运行容器 docker ru…...

Flowable 管理各业务流程:流程设计器 (获取流程模型 XML)、流程部署、启动流程、流程审批、流程挂起和激活、任务分配

文章目录 引言I 表结构主要表前缀及其用途核心表II 流程设计器(Flowable BPMN模型编辑器插件)Flowable-UIvue插件III 流程部署部署步骤例子:根据流程模型ID部署IV 启动流程启动步骤ACT_RE_PROCDEF:流程定义相关信息例子:根据流程 ID 启动流程V 流程审批审批步骤Flowable 审…...

BladeDISC++:Dynamic Shape AI 编译器下的显存优化技术

近年来&#xff0c;随着深度学习技术的迅猛发展&#xff0c;越来越多的模型展现出动态特性&#xff0c;这引发了对动态形状深度学习编译器(Dynamic Shape AI Compiler)的广泛关注。本文将介绍阿里云 PAI 团队近期发布的 BladeDISC项目&#xff0c;探讨在动态场景下如何优化深度…...

FFmpeg常用命令

文章目录 一、 FFmpeg 音视频的处理流程二、FFmpeg 常用命令2.1、查看本机支持的采集设备2.2、 录制视频2.2.1、原始视频2.2.2、编码的视频 2.3、录制音频&#xff1a;2.3.1、原始音频2.3.2、编码的音频 2.4、录制音视频&#xff1a;2.5、文件格式转换&#xff1a;2.6、提取音频…...

http请求开启长连接导致请求偶发失败

问题描述&#xff1a; http长连接的意思是服务器为了调用时减少TCP三次握手开销&#xff0c;会复用之前已经发起的请求&#xff0c;比较适合频繁交互&#xff08;比如数据推送、流水线操作等&#xff09;的场景&#xff0c;但是如果超过服务器配置的连接最大空闲时间&#xff0…...

JUnit单元测试

单元测试 就是针对最小的功能单元&#xff08;方法&#xff09;&#xff0c;编写测试代码对其正确性进行测试 JUnit 最流行的java测试框架之一&#xff0c;方柏霓进行单元测试 入门程序 使用Junit&#xff0c;对UserService的方法进行单元测试 1.在pom.xml中&#xff0c;…...

智慧公安(实景三维公安基层基础平台)建设方案——第4章

4 建设内容 4.1 标准规范体系 在国家和地方公安基层信息化标准规范的基础上,结合项目实际情况,制定标准规范及管理制度,构建统一的标准规范体系,以便更好地实现公安基层基础信息的高度共享、平台运行的统一协调、业务流程最优化。主要包括以下内容: 1. 业务标准规范 (…...

LLMs(大型语言模型)的多智能体:Auto-GPT

LLMs(大型语言模型)的多智能体:Auto-GPT 是指在一个系统中集成多个具有不同能力、角色和任务的智能体,这些智能体能够相互协作、沟通和交互,以共同完成复杂的任务或解决复杂的问题。每个智能体都可以被视为一个独立的实体,具有自己的策略、目标和知识库,通过相互之间的…...

《Effective Java》学习笔记——第2部分 对象通用方法最佳实践

文章目录 第2部分 所有对象通用方法一、前言二、最佳实践内容1. equals()方法2. hashCode()方法3. toString() 方法4. clone() 方法5. finalize() 方法6. compareTo()方法&#xff08;实现 Comparable 接口&#xff09; 三、小结 第2部分 所有对象通用方法 一、前言 《Effect…...

2024年智慧消防一体化安全管控年度回顾与2025年预测

随着科技的飞速发展&#xff0c;智慧营区一体化安全管控在2024年取得了显著进展&#xff0c;同时也为2025年的发展奠定了坚实基础。 2024年年度回顾 政策支持力度持续加大&#xff1a;国家对消防安全的重视程度不断提高&#xff0c;出台了一系列涵盖技术创新、市场应用、人才培…...

艺术家迟首飞在特殊历史时刻展现中国艺术力量

艺术家迟首飞在特殊历史时刻展现中国艺术力量 艺术创作的边界正被不断拓展。中国艺术家迟首飞以其纪实视野&#xff0c;将传统与现代元素巧妙融合&#xff0c;展现全球艺坛力量&#xff0c;创作出一系列精彩作品。尤其是《平安兔》《福》与TikTok标志的结合的作品&#xff0c;…...

探索微服务架构:从单体应用到微服务的转变

引言 随着互联网业务的日益复杂和用户需求的快速增长&#xff0c;软件开发的架构模式也在不断演进。从最早的单体应用架构到后来的分层架构&#xff0c;再到如今备受关注的微服务架构&#xff0c;每一种架构模式都试图解决软件开发中的不同挑战。尤其是在现代互联网企业中&…...

MongoDB vs Redis:相似与区别

前言 在当今的数据库领域&#xff0c;MongoDB 和 Redis 都是备受关注的非关系型数据库&#xff08;NoSQL&#xff09;&#xff0c;它们各自具有独特的优势和适用场景。本文将深入探讨 MongoDB 和 Redis 的特点&#xff0c;并详细对比它们之间的相似之处和区别&#xff0c;帮助…...

Jenkins-pipeline语法说明

一. 简述&#xff1a; Jenkins Pipeline 是一种持续集成和持续交付&#xff08;CI/CD&#xff09;工具&#xff0c;它允许用户通过代码定义构建、测试和部署流程。 二. 关于jenkinsfile&#xff1a; 1. Sections部分&#xff1a; Pipeline里的Sections通常包含一个或多个Direc…...

MySQL(3)运算符、排序与分页

运算符 一、算术运算符 加减乘除余 举例&#xff1a; SELECT 1001 FROM DUAL; 结果为101&#xff0c;与java中的连接字符串不同。 SELECT 100A FROM DUAL; 结果为100。 也可以理解为&#xff0c;遇到非数值类型时&#xff0c;先转换为数值类型&#xff08;如2可以转换…...

Kafka面试题----Kafka消息是采用Pull模式,还是Push模式

Pull 模式为主 消费者主动拉取&#xff1a;Kafka 中的消费者是基于 Pull 模式来获取消息的。消费者通过向 Kafka 集群发送拉取请求&#xff0c;主动地从 Broker 中获取消息。这种方式使得消费者可以根据自身的消费能力和处理速度来灵活地控制消息的拉取频率和数量&#xff0c;…...

BLE透传方案,IoT短距无线通信的“中坚力量”

在物联网&#xff08;IoT&#xff09;短距无线通信生态系统中&#xff0c;低功耗蓝牙&#xff08;BLE&#xff09;数据透传是一种无需任何网络或基础设施即可完成双向通信的技术。其主要通过简单操作串口的方式进行无线数据传输&#xff0c;最高能满足2Mbps的数据传输速率&…...

借助 .pth 文件完成多个 Python 解释器的合并

相关搜索 conda 虚拟环境如何使用 ROS 的 Python 模块conda 虚拟环境找不到 catkin_pkg 问题描述 如果你在 Ubuntu 20.04 中装了 conda&#xff0c;那么你的 Ubuntu 会有这些 Python 解释器&#xff1a; /usr/bin/python3&#xff1a;系统的解释器 (版本为 3.8.10&#xff0…...

今天也是记录小程序进展的一天(破晓时8)

嗨嗨嗨朋友们&#xff0c;今天又来记录一下小程序的进展啦&#xff01;真是太激动了&#xff0c;项目又迈出了重要的一步&#xff0c;231啦&#xff01;感觉每一步的努力都在积累&#xff0c;功能逐渐完善&#xff0c;离最终上线的目标越来越近了。大家一直支持着这个项目&…...

python高级加密算法AES对信息进行加密和解密

AES&#xff08;高级加密标准&#xff09;是一种广泛使用的对称加密算法&#xff0c;它以字节为单位处理数据&#xff0c;将明文分组加密成密文。AES算法的核心在于一个轮函数&#xff0c;该函数会对数据执行多次变换&#xff0c;包括字节代换、行移位、列混合和轮密钥加。这些…...

# [Unity]【游戏开发】 脚本生命周期与常见事件方法

在Unity中,脚本的生命周期是指脚本从创建到销毁的整个过程,以及在此过程中触发的各类事件。掌握脚本生命周期对优化游戏开发过程和避免性能问题至关重要。本文将详细探讨脚本生命周期的关键事件、常见的事件方法,并通过实例说明如何在合适的时机执行脚本逻辑,以确保游戏的流…...

《探秘鸿蒙Next:非结构化数据处理与模型轻量化的完美适配》

在鸿蒙Next的人工智能应用场景中&#xff0c;处理非结构化数据并使其适配模型轻量化需求是一项关键且具有挑战性的任务。以下是一些有效的方法和策略。 数据预处理 数据清洗&#xff1a;非结构化数据中往往存在噪声、重复和错误数据。对于文本数据&#xff0c;要去除乱码、特殊…...

Spring Boot框架下的上海特产销售商城网站开发之旅

摘要 本项目基于Spring Boot框架开发&#xff0c;旨在创建一个网络上海特产销售商城网站。在黄菊华老师的指导下&#xff0c;该项目不仅涵盖了核心代码讲解和答辩指导&#xff0c;还提供了详尽的开发文档、开题报告、任务书及PPT等毕业设计辅导材料。黄老师是《Vue.js入门与商城…...

HTML 基础入门:核心标签全解析

在网页开发的世界里&#xff0c;HTML&#xff08;超文本标记语言&#xff09;是基石般的存在。它负责构建网页的基本结构&#xff0c;为用户呈现出丰富多样的内容。今天&#xff0c;就让我们一起深入了解 HTML 中几个极为关键的基础标签&#xff0c;开启网页创作的第一步。 一…...

Docker基础安装与使用

Docker 简介 Docker 是一个开源的容器化平台&#xff0c;用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包到一个轻量级的、可移植的容器中&#xff0c;实现了应用程序的快速部署和跨环境一致性。 Docker 的核心概念 容器&#xff08;Container&#xff09;&a…...

基于Docker的Spark分布式集群

目录 1. 说明 2. 服务器规划 3. 步骤 3.1 要点 3.2 配置文件 3.2 访问Spark Master 4. 使用测试 5. 参考 1. 说明 以docker容器方式实现apache spark计算集群&#xff0c;能灵活的增减配置与worker数目。 2. 服务器规划 服务器 (1master, 3workers) ip开放端口备注ce…...

物业管理软件引领智能社区高效服务与管理创新

内容概要 物业管理软件是在智能社区建设中不可或缺的重要工具。随着城市化进程的加速&#xff0c;社区管理的复杂性也在不断上升&#xff0c;如何提高服务效率和管理水平&#xff0c;已经成为物业公司面临的主要挑战。在这样的背景下&#xff0c;物业管理软件以其强大的功能和…...

NoETL | 数据虚拟化如何在数据不移动的情况下实现媲美物理移动的实时交付?

在我们之前的文章中&#xff0c;我们回顾了Denodo在逻辑数据仓库和逻辑数据湖场景中所使用的主要优化技术&#xff08;具体内容请参阅之前的文章&#xff09;。 数据架构 | 逻辑数据仓库与物理数据仓库性能对比_物理数仓、逻辑数仓-CSDN博客文章浏览阅读1.5k次&#xff0c;点赞…...

ovs实现lb负载均衡

负载均衡定义 负载均衡器的实现原理是通过硬件或软件设备将客户端访问流量根据转发策略分发到多个服务器或设备上&#xff0c;以确保系统的负载均衡。常见的实现方式包括&#xff1a; 二层负载均衡‌&#xff1a;使用虚拟MAC地址方式&#xff0c;根据OSI模型的二层进行负载均…...

2025 OWASP十大智能合约漏洞

随着去中心化金融&#xff08;DeFi&#xff09;和区块链技术的不断发展&#xff0c;智能合约安全的重要性愈发凸显。在此背景下&#xff0c;开放网络应用安全项目&#xff08;OWASP&#xff09;发布了备受期待的《2025年智能合约十大漏洞》报告。 这份最新报告反映了不断演变的…...

在亚马逊云科技上用AI提示词优化功能写出漂亮提示词(下)

提示工程&#xff08;Prompt Engineering&#xff09;对各位小伙伴们来说是再熟悉不过了&#xff0c;提示词工程技术是通过编写指令词&#xff0c;指导开发者们调用AI基础模型&#xff08;FMs&#xff09;获得期望的响应。但是经常写提示词的朋友们会知道&#xff0c;为了获取理…...

智能鞋利用机器学习和深度学习技术进行患者监测和步态分析的演变与挑战

概述 近年来&#xff0c;创新型 "智能鞋 "层出不穷&#xff0c;将物联网&#xff08;IoT&#xff09;和可穿戴设备技术融入 "鞋 "中&#xff0c;成为我们日常生活中不可或缺的一部分。智能鞋可以通过鞋中嵌入的电子元件、传感器、微处理器和其他技术&…...

Unity编辑拓展显示自定义类型

配合自定义特性或着header可以添加注解 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System.Reflection; using System; using Unity.VisualScripting;#if UNITY_EDITORpublic class EditorRender {public sta…...

Unity预制体未即时刷新

有时候在用代码修改预制体某个组件中的属性时&#xff0c;可能原本预制体未及时刷新&#xff1a; 可以使用PrefabUtility.SavePrefabAsset(gameobject)等函数&#xff0c;使得使用代码修改之后马上刷新生效。 一、AssetDatabase.Refresh() 功能&#xff1a; AssetDatabase.Re…...

SSO VS OAuth2区别

目录 理解认证与授权 Single Sign On(SSO) ​编辑 OAuth2 OAuth2协议理解 Access Token的秘密 SSO与OAuth2的关系 理解认证与授权 Single Sign On(SSO) 示例图 1、用户通过浏览器访问系统 Protected APP&#xff08;Goto app&#xff09; 2、Protected APP 发现没有登录…...

12_PlayerPrefs存储登录窗口逻辑_回调函数优化Lamd表达式

创建 登录窗口LoginWnd.cs 绑定 登录窗口LoginWnd.cs 编写 登录窗口LoginWnd.cs using UnityEngine; using UnityEngine.UI; //输入文本 命名空间 //功能 : 登录注册窗口 public class LoginWnd : MonoBehaviour{public InputField iptAcct;public InputField iptPass;public …...

蒙操作系统(HarmonyOS)

鸿蒙操作系统&#xff08;HarmonyOS&#xff09;是由华为技术有限公司开发的面向未来、面向全场景的分布式操作系统。它旨在为各种不同类型的设备提供统一的操作系统和无缝的智能体验&#xff0c;从智能手机到可穿戴设备&#xff0c;再到智能家居产品等。在鸿蒙的应用生态中&am…...

PHP同城配送小程序

&#x1f680; 同城极速达——您生活中的极速配送大师 &#x1f4f1; 一款专为现代都市快节奏生活量身打造的同城配送小程序&#xff0c;同城极速达&#xff0c;集高效、便捷、智能于一身&#xff0c;依托ThinkPHPGatewayWorkerUniapp的强大架构&#xff0c;巧妙融合用户端、骑…...

C#语言的学习路线

C#语言的学习路线 C#作为一种现代编程语言&#xff0c;凭借其简洁的语法、强大的功能和广泛的应用&#xff0c;得到了越来越多开发者的青睐。无论是开发桌面应用、Web应用、游戏&#xff0c;还是云服务&#xff0c;C#都有着广泛的应用场景。本文将为有志于学习C#的读者提供一条…...

js手写-实现Promise的then方法

简单引入then 代码 const PROMISE_STATUS_PENDING "pending";const PROMISE_STATUS_FULFILLED "fulfilled";const PROMISE_STATUS_REJECTED "rejected";class MyPromise {constructor(executor) {//status -- 存储promise的状态this.status…...

分布式系统通信解决方案:Netty Marshalling 全面解析

分布式系统通信解决方案&#xff1a;Netty Marshalling 全面解析 一、引言 在现代网络编程中&#xff0c;Netty 作为一款高性能、异步事件驱动的网络应用框架&#xff0c;因其强大的功能和灵活的扩展性&#xff0c;备受开发者青睐。Netty 广泛应用于分布式系统、RPC 框架以及…...

如何轻松实现域名指向服务器

在互联网时代&#xff0c;域名指向服务器是网站上线的关键步骤。域名是用户访问网站的入口&#xff0c;而服务器则是存储网站数据的地方。将域名正确指向服务器&#xff0c;能让用户顺利访问网站内容。虽然这个过程对新手来说可能有些陌生&#xff0c;但只要掌握正确的方法&…...

Java Web开发高级——单元测试与集成测试

测试是软件开发的重要环节&#xff0c;确保代码质量和功能的正确性。在Spring Boot项目中&#xff0c;单元测试和集成测试是常用的两种测试类型&#xff1a; 单元测试&#xff1a;测试单个模块&#xff08;如类或方法&#xff09;是否按预期工作。集成测试&#xff1a;测试多个…...

第九篇: 3.10. 【watchEffect】实现监听,立即执行函数

官网&#xff1a;立即运行一个函数&#xff0c;同时响应式地追踪其依赖&#xff0c;并在依赖更改时重新执行该函数。 watch对比watchEffect 都能监听响应式数据的变化&#xff0c;不同的是监听数据变化的方式不同 watch&#xff1a;要明确指出监视的数据 watchEffect&#x…...

【C++】模板(进阶)

本篇我们来介绍更多关于C模板的知识。模板初阶移步至&#xff1a;【C】模板&#xff08;初阶&#xff09; 1.非类型模板参数 1.1 非类型模板参数介绍 模板参数可以是类型形参&#xff0c;也可以是非类型形参。类型形参就是我们目前接触到的一些模板参数。 //类型模板参数 …...

有了TiDB,是否还需要“散装”大数据组件?

有了TiDB&#xff0c;是否还需要“散装”大数据组件&#xff1f; 最近和同事们讨论一个问题&#xff1a;在大数据应用日益增多的今天&#xff0c;如果使用了TiDB这样的一体化数据库&#xff0c;还需要使用那些传统的大数据组件&#xff08;比如Hadoop、Spark等&#xff09;吗&…...

OSCP - Proving Grounds - BullyBox

主要知识点 如果发现有域名&#xff0c;则可以加入/etc/hosts后重新执行nmap,nikto等扫描dirsearch的时候可以使用完整一些的字典文件&#xff0c;避免漏掉信息.git dump 具体步骤 执行nmap 扫描&#xff0c;发现 80和22端口开放,访问后发现被重定向到 bullybox.local Star…...

升级《在线写python》小程序的分享功能。昨天忘了...

小程序是使用uniapp写的&#xff0c;忘了开启分享功能&#xff0c;导致它现在是这样的。 挺不方便的&#xff0c;所以需要开启分享权限&#xff0c; 由于我这个没有其他需要隐藏的私密页面&#xff0c;所以事直接全局开启就行 在App.vue文件里的onShow里开启即可。加入如下代…...

Spingboot整合Netty,简单示例

Netty介绍在文章末尾 Netty介绍 项目背景 传统socket通信&#xff0c;有需要自身管理整个状态&#xff0c;业务繁杂等问题。 pom.xml <dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.117.F…...