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

Day113 切换Node.js版本、多数据源配置

切换Node.js版本

1.nvm简介

nvm(Node Version Manager),在Windows上管理Node.js版本,可以在同一台电脑上轻松管理和切换多个Node.js版本

nvm下载地址:https://github.com/coreybutler/nvm-windows/

在这里插入图片描述

2.配置nvm

安装之后检查nvm是否已经安装好了,打开cmd窗口:输入nvm -v

在这里插入图片描述

像这样,如果有版本就是安装成功了,如果显示不是命令那就是环境变量没有配置好

配置nvm的环境变量:

打开电脑的高级系统设置,找到环境变量,修改系统变量的PATH选项,新增nvm的安装路径,这样nvm就配置在电脑中了

在这里插入图片描述

配置好重新打开cmd窗口就应该可以查看nvm版本了

3.nvm更换Node.js版本

首先使用nvm list available 命令可以查看电脑上可以安装的Node.js版本

// 查看可安装的Node.js版本
nvm list available           

安装需要的版本

// 安装20.17.0版本的Node.js
nvm install 20.17.0 

在这里插入图片描述

如果出现successfully就是安装新版本安装成功了,现在你可以使用nvm更换Node.js版本了

// 切换使用指定版本的Node.js
nvm use 20.17.0          

出现下面的信息就是更换node版本成功了

C:\Windows\system32>nvm use 20.17.0
Now using node v20.17.0 (64-bit)

查看电脑上的node版本有哪些nvm管理了

// 查看已安装的Node.js版本
nvm list  

在这里插入图片描述

多数据源配置

在这里插入图片描述

yaml配置

application.yml,开发环境使用local

# 项目相关配置
ruoyi:# 名称name: RuoYi# 版本version: 3.9.0# 版权年份copyrightYear: 2025# 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)profile: D:/ruoyi/uploadPath# 获取ip地址开关addressEnabled: false# 验证码类型 math 数字计算 char 字符验证captchaType: math# 开发环境配置
server:# 服务器的HTTP端口,默认为8080port: 8080servlet:# 应用的访问路径context-path: /tomcat:# tomcat的URI编码uri-encoding: UTF-8# 连接数满后的排队数,默认为100accept-count: 1000threads:# tomcat最大线程数,默认为200max: 800# Tomcat启动初始化的线程数,默认值10min-spare: 100# 日志配置
logging:level:com.ruoyi: debugorg.springframework: warnconfig: classpath:logback-${spring.profiles.active}.xml# 用户配置
user:password:# 密码最大错误次数maxRetryCount: 5# 密码锁定时间(默认10分钟)lockTime: 10# Spring配置
spring:# 资源信息messages:# 国际化资源文件路径basename: i18n/messagesprofiles:active: local   #切换环境# 文件上传servlet:multipart:# 单个文件大小max-file-size: 10MB# 设置总上传的文件大小max-request-size: 20MB# 服务模块devtools:restart:# 热部署开关enabled: true# redis 配置redis:# 地址host: localhost# 端口,默认为6379port: 6379# 数据库索引database: 0# 密码password:# 连接超时时间timeout: 10slettuce:pool:# 连接池中的最小空闲连接min-idle: 0# 连接池中的最大空闲连接max-idle: 8# 连接池的最大数据库连接数max-active: 8# #连接池最大阻塞等待时间(使用负值表示没有限制)max-wait: -1ms# token配置
token:# 令牌自定义标识header: Authorization# 令牌密钥secret: abcdefghijklmnopqrstuvwxyz# 令牌有效期(默认30分钟)expireTime: 1380mybatis-plus:#扫描mapper文件所在位置mapper-locations: classpath*:mapper/**/*.xml#可以指定实体类所在包路径type-handlers-package: com.ruoyi.modules.handler.mybatis_plustype-aliases-package: com.ruoyi.**.domainconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# PageHelper分页插件
pagehelper:helperDialect: oraclesupportMethodsArguments: trueparams: count=countSql# Swagger配置
swagger:# 是否开启swaggerenabled: true# 请求前缀pathMapping: /dev-api# 防止XSS攻击
xss:# 过滤开关enabled: true# 排除链接(多个用逗号分隔)excludes: /system/notice# 匹配链接urlPatterns: /system/*,/monitor/*,/tool/*# Knife4j配置
knife4j:# 是否开启Knife4j(swagger增强版)enable: true# 开启屏蔽文档资源production: false

application-dev.yml,再复制两份,分别改成application-local.yml、application-prod.yml

# 数据源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSource
#        driverClassName: com.mysql.cj.jdbc.DriverdriverClassName: dm.jdbc.driver.DmDriverdruid:# 主库数据源
#            master:
#                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#                username: root
#                password: 123456master:url: jdbc:dm://192.168.1.111:5236/SYSDBAusername: SYSDBApassword: Dove1314# 从库数据源slave:# 从数据源开关/默认关闭enabled: falseurl: username: password: # 初始连接数initialSize: 5# 最小连接池数量minIdle: 10# 最大连接池数量maxActive: 20# 配置获取连接等待超时的时间maxWait: 60000# 配置连接超时时间connectTimeout: 30000# 配置网络超时时间socketTimeout: 60000# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一个连接在池中最小生存的时间,单位是毫秒minEvictableIdleTimeMillis: 300000# 配置一个连接在池中最大生存的时间,单位是毫秒maxEvictableIdleTimeMillis: 900000# 配置检测连接是否有效validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsewebStatFilter: enabled: truestatViewServlet:enabled: true# 设置白名单,不填则允许所有访问allow:url-pattern: /druid/*# 控制台管理用户名和密码login-username: ruoyilogin-password: 123456filter:stat:enabled: true# 慢SQL记录log-slow-sql: trueslow-sql-millis: 1000merge-sql: truewall:config:multi-statement-allow: true

logback日志配置

logback-dev.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

logback-local.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><!-- 设置MyBatis的日志级别 --><!-- 方式1:打印特定Mapper接口的SQL --><logger name="com.example.mapper" level="DEBUG"/><!-- 方式2:打印所有Mapper接口的SQL --><logger name="org.mybatis" level="DEBUG"/><!-- 方式3:打印执行的SQL语句及参数(更详细) --><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><logger name="java.sql.ResultSet" level="DEBUG"/><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

logback-prod.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

启动命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

输入命令

-Dspring.profiles.active=local -DLOG_PATH=E:\chiguiCode\cg-lims-notes\logs\admin

日志环境选择local,日志打印在E:\chiguiCode\cg-lims-notes\logs\admin这个文件夹下

在这里插入图片描述

运行项目,查看日志文件

在这里插入图片描述

http://www.dtcms.com/a/263401.html

相关文章:

  • RHCSA认证题目练习一(配置网络设置)
  • Centos7在yum当中遇到Could not resolve host: mirrorlist.centos.org解决方案
  • 高效读取文件中指定行段的两种方法
  • Golang 标准库errors用法
  • Golang快速开发框架——项目立项与系统配置读取组件viper(一)
  • 《如何在 Spring 中实现 MQ 消息的自动重连:监听与发送双通道策略》
  • Doc2X:破解RAG文档解析难题的核心引擎
  • 自由学习记录(65)
  • PO→DO→DTO→VO 和 DAO → DTO → VO
  • w-笔记:uni-app的H5平台和非H5平台的拍照识别功能:
  • 数据可视化:5 分钟读懂其核心价值与技术实践
  • PyTorch 中 nn.Linear() 参数详解与实战解析(gpt)
  • Python + Selenium 自动化爬取途牛动态网页
  • Qt Quick 与 QML(四)qml中的Delegate系列委托组件
  • 七天学会SpringCloud分布式微服务——05——OpenFeign
  • 基于时间策略+应用过滤的游戏防沉迷方案:技术实现与工具推荐
  • Python pandas-profiling 详解:一键生成数据分析报告的利器
  • 使用自定义注解完成redis缓存
  • Windows Excel文档办公工作数据整理小工具
  • SpringCloud系列(43)--搭建SpringCloud Config客户端
  • Install Ubuntu 24.04 System
  • SpringCloud系列(42)--搭建SpringCloud Config分布式配置总控中心(服务端)
  • ProPlus2024Retail 安装教程(详细步骤+激活方法)- 最新版安装包下载与使用指南
  • mysql运维语句
  • window显示驱动开发—在注册表中设置 DXGI 信息
  • SCAU期末笔记 - 操作系统 选填题
  • 【机器学习第四期(Python)】LightGBM 方法原理详解
  • 跨主机用 Docker Compose 部署 PostgreSQL + PostGIS 主从
  • [特殊字符]【联邦学习实战】用 PyTorch 从 0 搭建一个最简单的联邦学习系统(含完整代码)
  • 编程新手之环境搭建:node python