Lamp开源项目无租户模式修改与SpringBoot、Vue融合实践

需积分: 5 0 下载量 33 浏览量 更新于2024-09-26 收藏 13.25MB ZIP 举报
资源摘要信息:"Fork了Lamp开源项目,SpringBoot后端和Vue前端,源代码修改为无租户模式提交_lamp-source.zip" 知识点一:LAMP开源项目 LAMP是一种流行的开源网页应用软件组合,它代表的是Linux,Apache,MySQL和PHP的首字母缩写。LAMP组合支持动态网站或服务器的构建,被广泛应用于开发和部署各种网络应用。它具有成本低、性能高、可扩展性强等优势。 知识点二:Fork操作 Fork操作通常用于源代码管理系统中,指在原有项目的基础上创建一个新的分支,也就是复制一个源代码的副本。这样做的目的是为了修改或扩展原始代码,而又不影响原始项目的稳定性。Fork之后,用户可以自由地对代码进行修改和开发。 知识点三:SpringBoot后端开发 SpringBoot是Spring的一个模块,它简化了基于Spring的应用开发,通过快速配置的方式,使得开发者能够轻松创建独立的、生产级别的基于Spring框架的应用。SpringBoot后端开发通常涉及搭建RESTful API、数据库交互以及业务逻辑处理等。 知识点四:Vue前端框架 Vue.js是一套用于构建用户界面的渐进式JavaScript框架。它主要关注视图层,与传统的MVC框架有所不同的是,Vue采用数据驱动和组件化的思想,使得开发者能够更加高效地开发单页应用(SPA)。 知识点五:无租户模式 在多租户架构中,无租户模式意味着应用不支持在同一份代码或数据库实例上为多个独立租户提供服务,而是每个租户都有独立的应用实例和数据库。这与多租户模式相对,后者允许多个租户共享相同的代码和资源,但保持数据隔离。 知识点六:源代码提交 源代码提交是版本控制系统中的一个基本操作,它表示将本地对源代码的修改记录到版本历史中。在提交过程中,通常需要提供修改描述,以帮助其他开发者了解提交的目的和内容。提交操作是代码协作和版本管理的重要组成部分。 知识点七:文件压缩与解压缩 文件压缩是将一个或多个文件通过特定的算法减少文件大小的过程,目的是节省存储空间或便于文件传输。解压缩是压缩的逆过程,即将压缩过的文件还原成原来的大小和格式。ZIP是常见的文件压缩格式之一,支持跨平台操作,广泛应用于软件分发、文件存储等领域。 在本次资源摘要中提到的lamp-source-main.zip压缩包包含了LAMP开源项目的源代码,其中后端基于SpringBoot框架,前端基于Vue框架,且项目已经被修改为无租户模式。这意味着该项目不再支持多租户架构,适用于单租户的应用部署。开发者可以通过Fork操作获取该项目源代码,并根据自身需求进行进一步的开发和自定义。通过源代码提交,开发者可以将更改保存到版本控制系统中,实现代码的版本管理。而lamp-source-main.zip则是一个压缩后的文件,包含了整个项目的源代码,便于下载和分发。

Traceback (most recent call last): File "DT_001_X01_P01.py", line 150, in DT_001_X01_P01.Module.load_model File "/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/mmdet/apis/inference.py", line 42, in init_detector checkpoint = load_checkpoint(model, checkpoint, map_location=map_loc) File "/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/mmcv/runner/checkpoint.py", line 529, in load_checkpoint checkpoint = _load_checkpoint(filename, map_location, logger) File "/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/mmcv/runner/checkpoint.py", line 467, in _load_checkpoint return CheckpointLoader.load_checkpoint(filename, map_location, logger) File "/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/mmcv/runner/checkpoint.py", line 244, in load_checkpoint return checkpoint_loader(filename, map_location) File "/home/kejia/Server/tf/Bin_x64/DeepLearning/DL_Lib_02/mmcv/runner/checkpoint.py", line 261, in load_from_local checkpoint = torch.load(filename, map_location=map_location) File "torch/serialization.py", line 594, in load return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args) File "torch/serialization.py", line 853, in _load result = unpickler.load() File "torch/serialization.py", line 845, in persistent_load load_tensor(data_type, size, key, _maybe_decode_ascii(location)) File "torch/serialization.py", line 834, in load_tensor loaded_storages[key] = restore_location(storage, location) File "torch/serialization.py", line 175, in default_restore_location result = fn(storage, location) File "torch/serialization.py", line 157, in _cuda_deserialize return obj.cuda(device) File "torch/_utils.py", line 71, in _cuda with torch.cuda.device(device): File "torch/cuda/__init__.py", line 225, in __enter__ self.prev_idx = torch._C._cuda_getDevice() File "torch/cuda/__init__.py", line 164, in _lazy_init "Cannot re-initialize CUDA in forked subprocess. " + msg) RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method ('异常抛出', None) DT_001_X01_P01 load_model ret=1, version=V1.0.0.0

2023-07-22 上传