Macos使用n nvm来管理Nodejs的多版本共存
简介实际项目开发中,不同的项目我们往往需要用到不同版本的node做支持,并且需要根据项目需要切换,以下就是常用的命令行。
Mac下使用n模块去安装多个指定版本的Node.js,Win下使用nvm模块去安装多个指定版本的Node.js并使用命令随时切换nodejs的使用版本。
node中的n模块(nvm模块)是,node专门用来管理node版本的模块,可以进行node版本的切换,下载,安装。
安装nodejs官方安装文档
下面我使用macos的示例来展示安装
12# macos下的多版本管理为 n模块,命令字也是n,Windows平台的多版本管理为 nvm模块,命令字也是nvm。$ npm install -g n
查看安装的版本
1$ n --version
展示当前安装的所有node版本
1$ n list
安装指定版本
1$ n 16.0.0
安装最新版本
1$ n latest
安装稳定版本
1$ n stable
删除指定版本
1$ n rm 16.0.0
查看帮助
1$ n helps
切换当前正在使用的版本
12345678# 输入命令字n,会弹出下面的已 ...
Docker部署LocalAI 实现本地私有化 文本转语音(TTS) 语音转文本 GPT功能
简介LocalAI是一种直接替代REST API,和本地推理的OpenAI API规范兼容。它允许使用消费级硬件在本地或本地运行 LLM(不仅如此),支持与 ggml 格式兼容的多个模型系列。他不需要GPU(使用消费级设备的cpu计算)。
本地 OpenAI 替代 REST API。
无需GPU(使用cpu计算)。也不需要互联网接入。
可选,GPU 加速可在llama.cpp兼容的 LLM 中使用。另请参阅构建部分。
支持多种型号
🏃第一次加载后,它会将模型加载到内存中以加快推理速度
⚡不进行 shell-out,而是使用 C++ 绑定来实现更快的推理和更好的性能。
功能特点
📖 使用 GPT 生成文本( llama.cpp, gpt4all.cpp, …📖以及更多)
🗣 文本转音频
🔈 音频转文本(音频转录whisper.cpp)
🎨 具有稳定扩散的图像生成
🔥 OpenAI 功能 🆕
🧠 矢量数据库的嵌入生成
✍️约束语法
🖼️直接从 Huggingface 下载模型
本地安装LocalAI安装docker和docker-compose环境以及git ...
Docker安装Teslamate监控特斯拉车辆数据
环境介绍
注意:安装前请准备好如下东西
一个给teslamate使用的二级域名,比如tesla.xxx.com,并解析到你当前服务器的公网ip上
名称
版本
系统名称
Ubuntu 20.04
安装teslamate安装依赖的docker和docker-compose服务
1234567891011# 更新apt仓库$ apt-get update# 安装docker $ curl -fsSL https://get.docker.com |sudo bash# 安装docker-compose$ apt-get install -y docker-compose# 设置docker开机自启动$ systemctl enable docker
创建teslamate的安装目录,并设置目录权限
123456789# 创建目录$ mkdir -p /data/teslamate/{teslamate-db,teslamate-grafana-data,mosquitto-conf,mosquitto-data,import}# 设置目录权限$ c ...
使用Docker部署私有IPFS存储网络
环境介绍
节点名称
IP地址
系统版本
Node01
192.168.99.21
Centos7
Node02
192.168.99.22
Centos7
Node03
192.168.99.23
Centos7
开始安装
注意:以下操作三个节点都需要执行
安装docker和docker-compose
1$ curl https://www.putianhui.cn/package/script/install_docker.sh | bash
创建ipfs数据目录和docker-compose文件
12345678910111213141516171819202122$ mkdir -p /data/ipfs/{data,staging}$ cd /data/ipfs$ cat >docker-compose.yaml <<EOFversion: '3'services: ipfs: image: ipfs/kubo:v0.20.0 container_name: ipfs res ...
Nginx反向代理ChatGPT的api接口,实现国内直接访问到OpenAi的接口
下面介绍在国内网络中不科学上网的情况下来调用OpenAI的api接口,从而使用chatgpt开发应用或者使用chagpt的镜像站比如 这个项目
注意事项:
1、你需要有一个自己的chatgpt账号
2、登录openai的网站,创建一个openai的apiKey,创建apikey地址在这里
3、你需要有一台可以正常访问Chatgpt的海外vps服务器,推荐使用微软云的服务器,官网在这里
安装Nginx
12345# Centos系统安装$ yum install -y nginx# ubuntu系统安装$ apt-get install -y nginx
Nginx创建一个反向代理chagpt接口的vhost
123456789101112131415$ vim /etc/nginx/conf.d/chat.confserver { # 这里端口也可以非80或443 listen 80; # 这里写你的域名 server_name chatapi.xxx.com; location / { # 反向代理到o ...
Helm安装各种服务-持续更新(nfs-client-provisioner、ingress-nginx、Jumpserver、Harbor、Jenkins、Gitlab、PrometheusAlert、Kube-Promethues)
文档中所有helm服务的部署都Kubernetes-1.24.6集群中进行的,低版本或者高版本部分api可能不支持,请自行研究。
Helm的常用命令查看helm的版本信息
1$ helm version
repo仓库相关
1234$ helm repo list$ helm repo add jumpserver https://jumpserver.github.io/helm-charts$ helm repo update$ helm repo remove jumpserver
search搜索相关
1$ helm search repo gitlab
show查看相关
1234567891011# 显示chart的全部信息$ helm show all# 显示chart的定义信息$ helm show chart gitlab/gitlab# 显示chart的readme信息$ helm show readme# 显示chart的values信息$ helm show values gitlab/gitlab
install安装相关
12345678# 【常用】 ...
容器镜像构建工具和方案介绍
简介本节一起看一下都有哪些可用于构建容器镜像的工具和方案。可能你会疑问,构建镜像不就是使用docker build就可以吗,即使将来docker真的退出历史舞台,不还有containerd吗,前面第5节的时候也介绍了在containerd下可以使用nerdctl+buildkit构建容器镜像。 如果你只是在单机本地构建镜像的话,使用docker build或nerdctl+containerd+buildkit确实没有问题,但实际中由于不同场景和技术背景下的限制,如docker build依赖于docker daemon,这些限制使得在一些特殊的场景下本机构建镜像的方式不再可用。
下图是一个一个CI/CD流水线中的分布式构建架构,结合了容器技术,将Jenkins用于构建的Slave节点放到容器中,并基于K8S来动态调度管理这些Jenkins Slave容器。这样一来Jenkins就具备了基于容器的分布式构建能力, 一个应用从源码经过各个阶段到最终的镜像是采用分布式构建实现的,各个阶段也都是在容器中进行的。
上面基于容器的分布式构建,首先要面对的问题就是要在jenkins ...
Logcli-loki命令行工具使用详解
Logcli-loki命令行工具安装前往Loki版本发布页面 下载对应版本的Logcli命令行工具到本地。
1234567cd /tmp && wget https://github.com/grafana/loki/releases/download/v2.7.2/logcli-linux-amd64.zipunzip logcli-linux-amd64.zipmv logcli-linux-amd64 /usr/binrm -f ./logcli-linux-amd64.zip
配置loki客户端连接loki服务器的地址到环境变量
123456# 如果loki 为非本机地址, 请将localhost 替换为对应ip地址$ export LOKI_ADDR=http://localhost:3100# 如果你的loki有账号密码的认证,使用下面将账号密码导入到环境变量中$ export LOKI_USERNAME=<username>$ export LOKI_PASSWORD=<password>
注意:如果在代理服务器后面运行 Lo ...
什么是运维-对运维的一个理解
这不年底了吗最近在写年终工作总结汇报,领导让总结下对运维的理解然后给上面不懂技术的大领导看,然后就整理了下面这篇文章。
什么是运维?运维是指在大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与健康运行。
它集合了软硬件、网络、系统、数据库、开发、安全、监控、应用架构、存储、大数据、公私有云于一身的技术,通过系统状态监控、事件预警、业务调度、排障升级等手段,使服务处于长期稳定可用的状态。
运维岗位的分类
运维开发:运维平台的设计,开发和实施部署,如:资产管理系统、监控系统、自动发布平台、权限管理系统等等。
应用运维:主要负责线上服务的发布变更、服务健康状况监控、服务的容灾高可用、数据安全备份和做故障排查等工作。
系统运维:系统运维主要和系统及底层网络等打交道,如:硬件、IDC机房、网络拓扑、CDN加速和基础服务的建设等;对所有服务器的资产进行管理,服务器的调研选型、交付上架和后期维护等。
数据库运维:需要对库、表、索引和SQL等制定规范,对数据库进行变更、监控、备份、高可用设计等工作。
安全运维:进行常规的安全扫描、渗透测试、进行安全工具和系统研发以及安全事件应急处理。
桌 ...
Loki+Grafana+PrometheusAlert单进程部署实行日志收集到飞书的日志告警
环境介绍及组件版本
我这里是做实验,所有组件全部署在一台机器上(包括日志收集端),生产部署根据需求将各组件分别部署(promtail日志收集端是需要每个需要日志收集的服务器都部署的)。
组件信息
服务名称
版本
备注
Promtail
v2.7.0
服务端收集日志agent输出到loki存储,类似filebeat
Loki
v2.7.0
存储日志和查询日志
Grafana
v9.2.7
用于查询日志及配置日志告警规则,将告警发送至webhook
PrometheusAlert
v4.8.2
告警通知中心用于暴露webhook,将Grafana推送的告警信息模板格式化后发送至飞书
Loki介绍特点
围绕日志标签构建索引,而不是像es一样进行全文索引
多租户:通过tenant ID实现多租户,如果关闭多租户, 则默认唯一租户为fake
部署模式
单进程模式:所有的组件运行在一个进程中,适用于测试环境或者较小的生产环境
微服务可扩展模式:各组件单独运行,可水平伸缩扩展
组件
Distributor
负责处理客户端的日志写入,负责接收日志数据,然后将其拆分成 ...