在公司中,我负责管理前后端代码的部署。随着项目数量的增加,我发现手动部署过程不仅耗时,而且容易出错。为了解决这个问题,我决定寻找一个自动化部署工具。经过一番搜索,我发现了 deploy-cli-service,但它主要支持Linux服务器。由于我们公司使用的是Windows服务器,我决定自行修改源码以适应Windows环境。以下是我修改和部署的详细步骤:步骤1:评估现有工具我发现 deploy-cli-service 工具不支持Windows服务器,因此决定对其进行修改。步骤2:修改源码主要问题集中在SFTP操作和文件路径处理上,因为Windows和Linux在这些方面存在差异。步骤3:编写备份和部署脚本我编写了一个函数 backupRemoteFile 来处理备份、删除和解压的过程。const backupRemoteFile = async (config, index) => { try { const { windowsPath, bakDir } = config; const dirName = 'dist'; cons
最近,客户要求将项目部署在Docker上,因此我开始学习并了解Docker的部署流程。下面是我整理的部署步骤:1. 安装Docker首先,在Ubuntu系统上安装Docker:sudo snap install docker2. 创建Dockerfile新建一个Dockerfile文件,并添加以下内容:# 使用官方Ubuntu镜像作为基础镜像 FROM ubuntu # 设置时区 RUN echo "Asia/Shanghai" > /etc/timezone ENV LANG C.UTF-8 ENV LC_ALL C.UTF-8 # 更新软件包列表并安装所需软件包 RUN apt-get update \ && apt-get install -y --no-install-recommends \ openjdk-8-jdk \ python3 \ python3-pip \ && rm -rf /var/lib/apt/lists/* RUN apt-g
本文将指导您如何为PostgreSQL数据库开启归档模式,确保数据的安全性和可恢复性。检查归档模式状态首先,我们需要确认当前数据库的归档模式是否已经开启。在PostgreSQL中,可以通过以下命令查询:show archive_mode; archive_mode -------------- off (1 row)如果返回结果为off,意味着我们需要进行进一步的配置。开启归档模式开启归档模式需要修改postgresql.conf配置文件。以下是具体步骤:创建归档日志目录在服务器上创建一个新的目录,用于存放归档日志文件:mkdir /data/archivelog/编辑配置文件使用文本编辑器打开postgresql.conf文件,并进行以下修改:vi postgresql.conf在文件中添加或修改以下行archive_mode = on # 开启归档 archive_command = 'cp %p /data/archivelog/%f'重启数据库服务配置完成后,需要重启PostgreSQL服务以使更改生效:[postgres@test bin]$ ./p
摘要今天在巡检服务器时,意外发现模型预测占用了惊人的16GB内存!赶紧检查代码,发现每次模型推理都会悄悄增加约200MB的内存占用。经过一番排查,终于找到了问题的根源,并给出了解决方案。发现问题早上的服务器巡检真是让人心惊胆战,竟然发现模型推理的内存占用飙升至16GB!我立刻着手检查代码,发现每次推理时内存都会稳定增长约200MB。经过仔细分析,问题似乎出在这段代码上:// 加载ONNX运行环境和模型 OrtEnvironment environment = OrtEnvironment.getEnvironment(); // 创建会话选项 OrtSession.SessionOptions sessionOptions = new OrtSession.SessionOptions(); // 根据模型路径创建会话 OrtSession session = CommonService.getSession(environment, CommonConstant.YOLO_MODEL_PATH, sessionOptions);每次推理,session都会重新加载,而模型文件的大小恰
摘要最近,我们对一个使用React Native开发的Android应用进行了功能更新,以满足客户在低光环境下使用摄像头扫码的需求。通过增加手电筒控制功能,我们提升了应用的实用性和用户体验。背景该应用已经长时间未进行维护,但客户提出了一个新的需求:在夜间或光线不足的环境中使用摄像头扫码时,能够自动或手动开启手电筒以提高扫码成功率。解决方案在检查了现有的代码后,我们发现已经包含了开启手电筒的权限。然而,flashMode={RNCamera.Constants.FlashMode.auto} 的设置并没有如预期那样在光线不足时自动开启手电筒。因此,我们决定修改配置,以确保手电筒在需要时始终处于开启状态。代码实现以下是我们对RNCamera组件的配置修改:<RNCamera style={styles.preview} type={RNCamera.Constants.Type.back} flashMode={this.state.torchMode ? RNCamera.Constants.FlashMode.torch : RNCamera.Constants.Fl
摘要在公司最近开发的图像识别模块中,我们专注于识别塔工在上塔过程中是否正确扣好安全绳。经过研究和比较,我们选择了YOLO5作为核心算法,并采用ONNXRuntime在Java环境中进行模型的部署和预测。选择YOLO5YOLO5以其出色的性能和准确性在图像识别领域备受推崇。然而,YOLO5原生并不支持Java环境,这给我们的部署带来了挑战。解决方案:PT到ONNX的转换为了解决这一问题,我们探索了将YOLO5训练后的PyTorch权重文件(.pt)转换为ONNX格式的方法。这样,我们便能利用Java支持的ONNXRuntime进行模型的加载和预测。本地环境搭建我们推荐使用Anaconda来管理Python环境,确保依赖性和版本的一致性。以下是搭建本地环境的步骤:安装Anaconda。创建名为test的新的yolo测试环境:conda create --name test。激活yolo环境:conda activate test。转换流程在环境激活后,进入YOLO5的目录,并执行以下命令来输出ONNX模型:cd path/to/yolo python export.py --weights
摘要在服务器上运行多个使用不同JDK版本的项目时,正确配置Tomcat以确保每个项目都能使用其指定的JDK版本至关重要。问题背景Tomcat默认会使用环境变量JAVA_HOME和JRE_HOME指定的JDK和JRE环境。在多JDK环境中,若不进行适当配置,可能会导致项目无法正常运行。解决方案为了确保项目A和项目B能够分别使用JDK 1.8和JDK 17,我们需要对Tomcat的配置文件进行调整。项目A:使用JDK 1.8对于项目A,我们需要在Tomcat的bin目录下的setclasspath.bat文件中指定JDK 1.8的路径:set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181 set JRE_HOME=C:\Program Files\Java\jdk1.8.0_181\jre项目B:使用JDK 17对于项目B,由于JDK 17不包含独立的JRE目录,我们需要在setclasspath.bat文件中相应地调整配置:set JAVA_HOME=C:\Program Files\Java\jdk17.0.5 set JRE_HOME=C:
执迷
日常记录开发中遇到的问题...
执迷欢迎你!
上线了新的网站,欢迎去参观啦! https://zhangmingrui.top
建议使用 Ctrl + D 收藏本站,让你不再错过任何篇优秀文章哟!
愿你有诗有梦,有坦荡的远方;愿你历遍山河,仍觉得人间值得!