Backend

laravel11 部署 Reverb - laravel 第一方可扩展的 WebSocket 服务器

Laravel 11 发布了,一并推出了第一方可扩展的 WebSocket 服务器:Laravel Reverb,为你的应用提供强大的实时功能。 Reverb 只支持Laravel 10和Laravel 11,下面以Laravel 11为例 安装 php artisan install:broadcasting env 配置 REVERB_APP_ID=991168 REVERB_APP_KEY=cwnysrqcajxago4kbhw3 REVERB_APP_SECRET=q8kagq5unvvneork62yl REVERB_HOST="laravel.cw.net" REVERB_POR...

laravel 集成 vue3 的前端项目

现在大多项目都是前后端分离的,但是如果前后端都是一个人做,前后端来回切也挺不方便的。 好在 laravel 给我们提供了 Vite,下面我以一个纯前端的项目企业展示型小程序 - 管理员端 为例,介绍一下如何把 vue3 项目集成到 laravel 准备 创建一个laravel的项目 composer create-project laravel/laravel=10.* --prefer-dist laravel-demo 大概步骤 cd laravel-demo composer install cp .env.example .env php artisan key:generate n...

docker使用GPU

只能使用支持 cuda 的 nvidia 显卡,其他不行😭 docker run https://docs.docker.com/config/containers/resource_constraints/#gpu --gpus all docker run -it --rm --gpus all nvidia/cuda:12.3.1-base-ubuntu20.04 nvidia-smi docker compose https://docs.docker.com/compose/gpu-support/ services: test: image: nvidia/cuda...

Docker 集群管理 - Swarm模式

Docker Swarm和Docker Compose都是由Docker官方提供的容器编排工具。它们之间的区别在于,Docker Compose主要用于在单个服务器或主机上创建多个容器,而Docker Swarm则可以在多个服务器或主机上创建容器集群服务。特别是在微服务的部署场景下,Docker Swarm显然更为适用,因为它能够实现在分布式环境中轻松管理和扩展容器服务。 准备 Swarm、Swarmkit和Swarm模式傻傻分不清 https://www.linuxprobe.com/swarm-swarmkit.html https://sreeninet.wordpress.com/20...

使用 Vault 管理数据库凭据和实现 AppRole 身份验证

Vault 是一个开源工具,可以安全地存储和管理敏感数据,例如密码、API 密钥和证书。它使用强加密来保护数据,并提供多种身份验证方法来控制对数据的访问。Vault 可以部署在本地或云中,并可以通过 CLI、API 或 UI 进行管理。 本文将介绍 Vault 的初始化、数据库密钥引擎和身份验证方法。我们将首先介绍如何使用 UI、CLI 或 REST API 初始化 Vault。然后,我们将介绍如何使用 Vault 的数据库密钥引擎来管理数据库凭据。最后,我们将介绍如何使用 AppRole 身份验证方法来保护 Vault 中的数据。 初始化 { "keys": [ "cf145f5...

Avahi - 轻松实现局域网中的.local域名服务

Avahi 是一个免费的零配置网络 (zeroconf) 实现,包括一个用于组播 DNS/DNS-SD 服务发现的系统。它允许程序发布和发现在本地网络上运行的服务和主机,而无需特定配置。比如,traefik.local、homepage.local就可以轻松实现。 苹果的Bonjour服务(mDNS)通过使用.local后缀,实现了多址广播域名的设备识别。 安装 Avahi # Ubuntu / Debian $ sudo apt install avahi-daemon avahi-utils # CentOS $ sudo yum install nss-mdns avahi avah...

Docker 部署 Mastodon - 一个去中心化的社交平台

在当今互联网时代,社交媒体已经成为人们生活的重要一部分,然而,传统社交媒体平台通常集中于单一中央服务器,这引发了一些问题,包括隐私担忧、数据泄露风险以及广告和跟踪滥用。然而,现在有一种新的社交网络正在崭露头角,它将互联网的去中心化精神引入了社交媒体世界 - 那就是 Mastodon。 Mastodon 是一种开源、分布式的社交网络平台,以其强调去中心化、用户隐私和自主控制而引起了广泛的关注。与传统社交媒体巨头如 Twitter 和 Facebook 不同,Mastodon 的去中心化设计使其不依赖于单一中央服务器。相反,它由许多相互连接的服务器(或称为实例)组成,每个实例都是一个独立的社交网络...

CeSI - 管理多个 Supervisor 的Web界面

CeSI(Centralized Supervisor Interface),它是一个用于管理多个监督者(Supervisor)的Web界面。监督者本身具有自己的Web用户界面,但是使用单独的界面来管理多个监督者安装是复杂的。CeSI的目标是通过基于监督者的RPC接口创建一个集中式的Web用户界面,以解决这个问题。 docker-compose.yml https://github.com/chudaozhe/docker-compose-samples/tree/main/cesi 关于ui 这个项目的前端部分是用React写的,正常情况构建镜像 需要先yarn build,然后把构建好的...

PM2 - 进程管理工具

PM2 是具有内置负载均衡器的 Node.js 应用程序的生产过程管理器。它允许您使应用程序永远保持活动状态,在不停机的情况下重新加载它们,并促进常见的系统管理任务。 全局安装pm2 npm install pm2 -g 启动监听模式 自动监听文件变化 pm2 start app.js --watch 常用命令 pm2 start app.js # 启动 pm2 stop app.js # 停止 pm2 logs # 日志 pm2 stop all # 停止全部 pm2 delete all # 杀死全部进程 pm2 startup # 开机自启 pm2 update pm2 # 更新 ...

NLTK 的安装

Natural Language Toolkit,自然语言处理工具包,在NLP领域中,最常使用的一个Python库。 自动安装 如果您不确定需要哪些数据集/模型,可以安装流行的 python -m nltk.downloader popular //或者 import nltk; nltk.download('popular') 手动安装 已知的原因,自动安装会失败 手动下载这些包https://github.com/nltk/nltk_data/tree/gh-pages/packages,放在nltk_data目录,然后移动到正确的位置。 比如我的: ~/Library/Caches/...