• [OpenClaw体验] OpenClaw-安装OpenClaw Skills
    机器人对话安装以飞书对话为例,飞书对接open claw参考:使用OpenClaw搭建个人AI助手(飞书)_AI智能体场景_搭建应用_最佳实践_Flexus云服务_Flexus应用服务器L实例-华为云1、帮我再浏览器上查询clawhub目前安装量最高的是skills是哪个2、帮我查询我现在是否有agent-browser技能,没有的话请帮我安装该技能命令行安装clawhub 安装skill skillhub 安装skill# 远程登录实例,登录环境 #进入openclaw用户 root@hcss-ecs-d448:~# su - openclaw #进入.openclaw目录 openclaw@hcss-ecs-d448:/root$ cd /home/openclaw/.openclaw/ #安装技能(以trello为例) openclaw@hcss-ecs-d448:~/.openclaw$ skillhub install Trello info: "Trello" not in index, and remote search has no exact slug match; try direct download by slug info: "Trello" not in index/remote search, try direct download by slug Downloading: https://lightmake.site/api/v1/download?slug=Trello Installed: Trello -> /home/openclaw/.openclaw/skills/Trello #检查技能安装成功 openclaw@hcss-ecs-d448:~/.openclaw$ openclaw skills list --eligible | grep trello │ ✓ ready │ 📦 trello │ Manage Trello boards, lists, and cards via the Trello │ openclaw-managed │源码安装skill#进入openclaw用户 root@hcss-ecs-d448:~# su - openclaw #下载技能源码至home/openclaw/.openclaw/skills/文件夹中 openclaw@hcss-ecs-d448:~$ git clone https://github.com/peterskoett/self-improving-agent.git ~/.openclaw/skills/self-improving-agen t Cloning into '/home/openclaw/.openclaw/skills/self-improving-agent'... remote: Enumerating objects: 61, done. remote: Counting objects: 100% (61/61), done. remote: Compressing objects: 100% (47/47), done. remote: Total 61 (delta 17), reused 53 (delta 10), pack-reused 0 (from 0) Receiving objects: 100% (61/61), 35.75 KiB | 416.00 KiB/s, done. Resolving deltas: 100% (17/17), done. #重启网关 openclaw@hcss-ecs-d448:~$openclaw gateway restart ....... # 查询技能,技能是ready状态 openclaw@hcss-ecs-d448:~$ openclaw skills list --eligible | grep self │ ✓ ready │ 📦 self-improvement │ Captures learnings, errors, and corrections to enable │ openclaw-managed │ 控制台安装待补充
  • [技术干货] 在华为云上部署基于openclaw的学术助手
    学术助手部署流程总结一、背景与需求1.1 项目背景本项目为研究生群体打造一个自动化的学术助手系统,核心需求包括:研究方向定制:每个学生可设定个性化的研究方向、偏好设置文献自动获取:支持设定文献来源,每日自动下载新文献智能总结推送:按自定义模板或提示词对文献进行总结,自动推送到学生完全独立隔离:每个学生的助手实例完全独立,互不影响弹性扩展:学生人数可随时增减,便于管理1.2 技术选型底层框架:nanobot(轻量级 AI 助手框架)容器化:Docker + Docker Compose消息通道:飞书(Feishu)WebSocket 长连接大模型:通过 OpenRouter 调用 kimi-k2.5(成本可控)部署环境:Ubuntu 云服务器(32GB 内存)1.3 核心架构原则Parse error on line 7: ...A[/root/.nanobot独立挂载] instB --> data -----------------------^ Expecting 'SPACE', 'GRAPH', 'DIR', 'subgraph', 'end', 'AMP', 'ALPHA', 'COLON', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'START_LINK', 'STYLE', 'LINKSTYLE', 'CLASSDEF', 'CLASS', 'CLICK', 'DOWN', 'UP', 'DEFAULT', 'NUM', 'COMMA', 'MINUS', 'BRKT', 'DOT', 'PCT', 'TAGSTART', 'PUNCTUATION', 'UNICODE_TEXT', 'PLUS', 'EQUALS', 'MULT', 'UNDERSCORE', got 'SQE'关键设计:一个学生 = 一个独立 Docker 容器一个容器 = 一个独立 /root/.nanobot 数据目录共享镜像,不共享运行态数据通过模板和注册表管理实例,不靠手工复制二、部署过程2.1 环境准备2.1.1 Docker 安装使用 Docker 官方 Ubuntu APT 源安装:sudo apt update sudo apt install -y ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL ... | sudo tee /etc/apt/keyrings/docker.asc > /dev/null sudo chmod a+r /etc/apt/keyrings/docker.asc echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] ... $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin验证安装:docker --version docker compose version将当前用户加入 docker 组:sudo usermod -aG docker claw_manager newgrp docker2.1.2 代码准备克隆 nanobot 仓库:cd /home/claw_manager/software git clone ...构建共享镜像:cd /home/claw_manager/software/nanobot docker build -t nanobot:local . 2.1.3 目录结构/home/claw_manager/ ├── software/nanobot/ # nanobot 源码 ├── nanobot-manager/ # 管理目录 │ ├── students.yml # 学生注册表 │ ├── templates/ # 渲染模板 │ │ ├── compose.student.yml │ │ ├── config.student.json │ │ ├── RESEARCH_PROFILE.student.md │ │ ├── LITERATURE_SOURCES.student.md │ │ ├── SUMMARY_TEMPLATE.student.md │ │ └── HEARTBEAT.student.md │ └── scripts/ │ └── studentctl # 管理脚本 ├── nanobot-instances/ # 学生实例目录 │ ├── student001/ │ │ ├── .env │ │ ├── compose.yml │ │ └── .nanobot/ # 实际挂载到容器的目录 │ │ ├── config.json │ │ └── workspace/ │ └── student002/ └── nanobot-archives/ # 归档目录2.2 飞书应用配置每个学生需要独立的飞书应用:访问 飞书开放平台创建企业应用启用 Bot 能力配置权限:im:message(发送消息)im:message.p2p_msg:readonly(接收单聊消息)开启事件订阅:事件:im.message.receive_v1模式:Long Connection(长连接)发布应用版本获取 App ID 和 App Secret 供后续配置使用。2.3 学生实例部署2.3.1 一键式部署(推荐)/home/claw_manager/nanobot-manager/scripts/studentctl provision student001 \ --name "张三" \ --research-direction "多模态检索与学术问答" \ --feishu-app-id "cli_xxx" \ --feishu-app-secret "xxx" \ --host-port 18891 \ --preference "默认使用中文输出" \ --preference "优先输出结构化总结" \ --literature-source "arXiv cs.IR" \ --literature-source "ACL Anthology" \ --summary-item "1. 研究问题" \ --summary-item "2. 方法概述" \ --summary-item "3. 主要结果" \ --summary-item "4. 对当前课题的启发" 2.3.2 分步部署编辑注册表后渲染并启动:# 渲染实例配置 /home/claw_manager/nanobot-manager/scripts/studentctl render student001 # 启动容器 /home/claw_manager/nanobot-manager/scripts/studentctl up student0012.4 验证部署查看运行状态:/home/claw_manager/nanobot-manager/scripts/studentctl status student001查看日志:/home/claw_manager/nanobot-manager/scripts/studentctl logs student001 --tail 50 成功标志:容器状态显示 Up日志中出现 Feishu bot started with WebSocket long connection日志中出现 connected to wss...三、具体实现细节3.1 核心命令汇总3.1.1 学生生命周期管理# 列出现有学生 /home/claw_manager/nanobot-manager/scripts/studentctl list # 新增/更新学生并启动 /home/claw_manager/nanobot-manager/scripts/studentctl provision <student_id> \ --name "姓名" \ --research-direction "方向" \ --feishu-app-id "cli_xxx" \ --feishu-app-secret "xxx" # 查看状态 /home/claw_manager/nanobot-manager/scripts/studentctl status <student_id> # 查看日志 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> --tail 100 # 重启实例 /home/claw_manager/nanobot-manager/scripts/studentctl restart <student_id> # 停止实例 /home/claw_manager/nanobot-manager/scripts/studentctl stop <student_id> # 停用并归档(保留数据) /home/claw_manager/nanobot-manager/scripts/studentctl deprovision <student_id> \ --archive \ --remove-from-registry # 停用并彻底删除 /home/claw_manager/nanobot-manager/scripts/studentctl deprovision <student_id> \ --archive \ --delete-files \ --remove-from-registry # 绑定特定飞书用户(收紧权限) /home/claw_manager/nanobot-manager/scripts/studentctl bind-feishu-user <student_id> <open_id> 3.1.2 Docker 直接操作(备用)# 使用 docker compose 操作单个学生 cd /home/claw_manager/nanobot-instances/student001 docker compose up -d # 启动 docker compose down # 停止 docker compose logs -f # 查看日志 # 查看所有容器 sg docker -c 'docker ps -a' 3.2 权限管控机制3.2.1 容器权限隔离学生间隔离:每个学生拥有独立的 Docker 容器容器内运行用户为 root(默认)挂载目录隔离:/home/claw_manager/nanobot-instances/<student_id>/.nanobot文件权限问题:容器以 root 写入的文件在宿主机显示为 root:root,可能导致宿主机用户无法直接删除。解决方案:临时方案(已使用):sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/<student_id> 容器方式清理(推荐):# 使用临时容器以 root 身份清理挂载目录 sg docker -c 'docker run --rm -v /home/claw_manager/nanobot-instances/<student_id>:/target alpine sh -c "rm -rf /target/* /target/.[!.]* /target/..?*"' 3.2.2 Feishu 访问控制第一层隔离:每个学生使用独立的飞书应用(app_id + app_secret)第二层隔离(可选):绑定特定用户 open_id# 先让学生活动一次,从日志获取其 open_id # 然后执行绑定 /home/claw_manager/nanobot-manager/scripts/studentctl bind-feishu-user student001 ou_xxx /home/claw_manager/nanobot-manager/scripts/studentctl restart student0013.2.3 文件访问限制每个学生的 config.json 中设置了:{ "tools": { "restrictToWorkspace": true } } 这限制了 agent 的文件操作只能在其 workspace 目录内进行。3.3 配置管理3.3.1 两层配置结构管理层源配置(students.yml):学生元信息(ID、姓名、研究方向)Feishu 凭据文献来源、总结模板用于批量管理和重新渲染实例运行时配置(nanobot-instances/<id>/.nanobot/config.json):实际生效的 LLM 配置Feishu 连接参数容器直接读取此配置运行3.3.2 敏感信息处理当前设计将凭据统一存储在 students.yml 中,便于管理但集中存储风险较高。生产环境建议:将敏感信息(api_key、app_secret)移至各自实例目录的独立文件注册表仅保留元信息脚本按需读取并渲染3.4 资源规划单实例配置建议:CPU:0.5-1 核内存:512MB-1GB端口:每个学生独立端口(从 18891 开始递增)实际瓶颈:模型 API 调用成本(而非容器资源)文献下载并发数长期日志和数据累积3.5 故障排查3.5.1 常见问题问题1:端口被占用Error: address already in use解决:更换端口或停止占用该端口的服务问题2:Feishu 连接失败app_id is invalid解决:检查 app_id 和 app_secret 是否正确,确认飞书应用已发布问题3:权限拒绝(删除实例时)PermissionError: [Errno 13] Permission denied解决:# 方法1:修改属主 sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/<student_id> # 方法2:使用容器清理 sg docker -c 'docker run --rm -v /home/claw_manager/nanobot-instances/<student_id>:/target alpine sh -c "rm -rf /target/*"' 3.5.2 日志查看# 查看最近100行 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> --tail 100 # 实时跟踪 /home/claw_manager/nanobot-manager/scripts/studentctl logs <student_id> -f3.6 运维脚本增强当前 studentctl 已支持:Docker 组权限自动检测(sg docker 自动切换)一键增删学生自动归档模板渲染待增强项:删除时自动检测 root 文件并自动清理敏感信息分离存储批量操作(增删多个学生)四、关键经验总结4.1 架构选择理由为什么选择「一学生一容器」而非「一容器多学生」:配置完全隔离,不会相互污染会话和记忆天然分离定时任务互不干扰单个实例异常不影响他人停用某个学生干净彻底为什么使用 Feishu 而非其他通道:WebSocket 长连接模式,无需公网 IP 和 webhook配置简单,仅需 app_id + app_secret国内访问稳定支持消息推送和接收4.2 成本优化模型选择:使用 openrouter/moonshotai/kimi-k2.5 替代 claude-opus-4-5,成本大幅降低资源共享:所有学生共享同一个 nanobot:local 镜像,减少镜像存储轻量部署:每个容器仅运行 nanobot gateway,无额外数据库/消息队列4.3 后续扩展方向底座稳定后可继续完善:文献自动下载脚本(宿主机挂载到容器调用)每日定时任务配置(HEARTBEAT.md + cron)自定义总结模板优化研究数据长期归档策略附录:快速参考卡# ========== 部署 ========== # 1. 安装 Docker(见上文) # 2. 构建镜像 cd /home/claw_manager/software/nanobot && docker build -t nanobot:local . # 3. 部署学生实例 /home/claw_manager/nanobot-manager/scripts/studentctl provision student001 \ --name "姓名" --research-direction "方向" \ --feishu-app-id "cli_xxx" --feishu-app-secret "xxx" # ========== 日常运维 ========== # 查看状态 studentctl status student001 # 查看日志 studentctl logs student001 --tail 50 # 重启 studentctl restart student001 # ========== 删除学生 ========== # 温和删除(归档保留) studentctl deprovision student001 --archive --remove-from-registry # 彻底删除(归档+删文件+移除注册) studentctl deprovision student001 --archive --delete-files --remove-from-registry # 解决权限问题后重新删除 sudo chown -R claw_manager:claw_manager /home/claw_manager/nanobot-instances/student001 studentctl deprovision student001 --archive --delete-files --remove-from-registry
  • [问题求助] 代金券如何购买流量
    我有一张代金券,4000多元,3月30日到期,我想购买一台包年的服务器,大概2000多,但是我看到这个2000多不包括网络流量费,我想问,能不能用我剩下的2000多先预购买一部分流量?
  • [热门活动] 产学研协同精品课上线!解锁6门开发者空间的实践干货
    产学研协同精品课在云学堂上线!解锁6门开发者空间的实践干货1、北京理工大学  车海莺  基于云主机CodeArts的软件工程项目实践 cid:link_02、山东大学 曾琼  “小核心、大协同”产学研驱动的人工智能引论教学实践cid:link_13、天津师范大学  翟羽佳   基于华为开发者空间的数据素养通论cid:link_24、新疆农业大学 陈燕红  基于华为开发者空间-云主机的Python 程序设计cid:link_35、北京科技大学天津学院  李亚红  基于华为云主机CodeArts+Python的数据结构课程实践案例开发cid:link_46、南京航空航天大学金城学院  孙福清  基于华为开发者空间的《Linux系统的技能实战》cid:link_5  
  • [分享交流] 大家的 ECS 都在跑什么?求分享!
    大家的 ECS 都在跑什么?求分享!
  • [技术干货] 别再求人了!新手也能看懂的云服务器部署全攻略
    在数字化时代,搭建网站、部署应用、运行程序都绕不开云服务器。但对于新手而言,面对“镜像选择”“环境配置”“端口开放”等专业术语,往往一头雾水,要么到处求人指点,要么反复踩坑导致项目迟迟无法上线。其实,云服务器部署并没有想象中那么难,掌握核心步骤和避坑技巧,新手也能独立完成全流程操作。本文将以零基础友好的视角,拆解云服务器部署的完整步骤,帮你摆脱“求人依赖症”。  一、部署前必做准备:避开90%的新手前期坑很多新手部署失败,并非操作步骤有误,而是前期准备工作不到位。提前做好以下3件事,能大幅降低后续操作难度。1. 明确部署需求,选对服务器配置云服务器的配置(CPU、内存、带宽、系统盘)并非越高越好,需根据实际需求匹配,否则会造成资源浪费或性能不足。个人博客/小型网站:访问量较低,选择1核2G内存、1M-2M带宽、40G系统盘的配置完全足够;小型应用/测试环境:需要运行数据库和简单程序,建议2核4G内存、3M带宽,系统盘可扩容至60G;企业级业务:高并发场景需选择4核8G以上配置,搭配弹性带宽和云数据库,提升稳定性。同时,要确认服务器的操作系统,新手优先选择CentOS或Ubuntu,这两款系统社区文档丰富,遇到问题更容易找到解决方案;Windows Server适合需要可视化操作的用户,但占用资源相对较高。2. 远程连接工具准备:新手首选可视化工具部署云服务器需要通过远程连接工具操作,新手不用纠结复杂的命令行工具,从可视化工具入手更易上手。Windows本地电脑:自带的“远程桌面连接”(mstsc命令)可直接连接Windows服务器;连接Linux服务器推荐使用**Xshell**或**FinalShell**,支持图形化界面和命令行操作,还能保存连接信息,避免重复输入。Mac本地电脑:连接Windows服务器可使用Microsoft Remote Desktop;连接Linux服务器用系统自带的终端,或安装FinalShell,操作逻辑与Windows端一致。3. 核心信息核对:避免“连接失败”的关键购买云服务器后,服务商通常会提供公网IP地址、用户名、初始密码(或密钥文件),这三个信息是远程连接的核心,务必做好核对:- 公网IP是否为“弹性IP”:确保IP地址固定,避免重启服务器后IP变更导致连接失效;- 初始密码是否修改:默认密码安全性低,购买后第一时间修改为“字母+数字+特殊符号”的组合密码;- 防火墙状态:确认服务商后台的防火墙默认放行22端口(Linux远程连接)或3389端口(Windows远程连接)。二、新手友好型部署全流程:以Linux系统为例(CentOS 7)Linux系统因资源占用低、稳定性强,是多数新手部署网站和应用的首选。以下步骤以CentOS 7为例,全程采用“命令行+图文逻辑”的方式拆解,确保新手能看懂、能操作。步骤1:远程连接云服务器1. 打开FinalShell工具,点击“新建连接”,选择“SSH连接”;2. 输入服务器公网IP地址,端口默认填22,用户名输入“root”;3. 选择“密码认证”,输入修改后的服务器密码,点击“连接”;4. 首次连接会弹出“信任主机”提示,点击“确认”,成功后会进入命令行界面,代表远程连接完成。新手痛点解决:若出现“连接超时”,大概率是22端口未开放,需登录云服务器后台,在“安全组”中添加“入站规则”,放行22端口(协议选择TCP,端口范围22,授权对象0.0.0.0/0)。步骤2:系统初始化:更新软件包+关闭无用服务连接成功后,先对服务器进行初始化,优化系统性能,减少安全隐患。1. 更新系统软件包:输入命令 `yum update -y`,该命令会自动更新系统所有软件包,修复已知漏洞,等待执行完成即可;2. 关闭防火墙(新手临时操作):新手部署时,防火墙容易拦截端口导致应用无法访问,可临时关闭,命令为 `systemctl stop firewalld` 和 `systemctl disable firewalld`;3. 关闭SELinux:SELinux是系统安全模块,新手操作时容易因权限问题报错,输入命令 `setenforce 0` 临时关闭,再输入 `vim /etc/selinux/config` 修改配置文件,将“SELINUX=enforcing”改为“SELINUX=disabled”,保存后重启服务器生效。注意:项目上线后,建议重新开启防火墙,并仅放行需要使用的端口(如80端口、443端口),提升服务器安全性。步骤3:部署运行环境:根据项目类型选择对应环境不同的项目需要不同的运行环境,比如搭建PHP网站需要LAMP(Linux+Apache+MySQL+PHP)或LNMP(Linux+Nginx+MySQL+PHP)环境;运行Python应用需要安装Python解释器和pip包管理工具。以下是两种常见环境的部署方法。1. LNMP环境部署(适合PHP网站/博客)LNMP是目前主流的轻量级网站运行环境,资源占用低,访问速度快,新手可通过一键安装包快速部署:1. 输入命令 `yum install -y wget` 安装wget工具;2. 下载LNMP一键安装包:`wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz`;3. 解压安装包:`tar zxf lnmp1.9.tar.gz`;4. 进入解压目录执行安装:`cd lnmp1.9 && ./install.sh lnmp`;5. 安装过程中会提示选择MySQL版本(新手选5.7即可)、PHP版本(推荐7.4),设置MySQL root密码,按照提示操作即可,等待10-20分钟安装完成。2. Python环境部署(适合Python应用)若需要运行Python程序,无需复杂的一键安装包,直接通过yum命令安装:1. 安装Python3:`yum install -y python3`;2. 安装pip3(Python包管理工具):`yum install -y python3-pip`;3. 验证安装是否成功:输入 `python3 -V` 和 `pip3 -V`,若显示版本号则代表安装完成。步骤4:上传项目文件,配置运行参数环境搭建完成后,需要将本地的项目文件上传到服务器,新手可使用FinalShell的*文件传输功能,可视化操作更简单。1. 在FinalShell界面,左侧为本地文件目录,右侧为服务器文件目录;2. 找到本地项目文件,直接拖拽到服务器的 `/home` 目录下(该目录权限较低,适合存放项目文件);3. 根据项目类型配置运行参数:- PHP网站:将项目文件移动到Nginx的默认网站目录 `/usr/local/nginx/html`,修改Nginx配置文件(`/usr/local/nginx/conf/nginx.conf`),设置域名和根目录,重启Nginx服务(`/etc/init.d/nginx restart`);- Python应用:进入项目目录,安装依赖包(`pip3 install -r requirements.txt`),通过命令 `python3 app.py` 启动应用,若需要后台运行,可使用 `nohup python3 app.py &` 命令。步骤5:开放端口+测试访问:确认部署成功项目启动后,最后一步是开放对应端口并测试访问,这是新手最容易忽略的环节。1. 开放端口:登录云服务器后台,在“安全组”中添加入站规则,根据项目类型放行端口——网站需放行80(HTTP)和443(HTTPS)端口,Python应用需放行程序启动端口(如5000、8000);2. 测试访问:在本地浏览器输入 `公网IP:端口号`,若能正常显示项目页面或应用界面,代表部署成功;若无法访问,检查端口是否开放、项目是否正常启动、防火墙是否关闭。三、新手部署避坑指南:解决80%的常见故障即使按照步骤操作,新手仍可能遇到各种问题,以下是5个高频故障及解决方案,帮你快速排错。1. 故障1:远程连接时提示“权限拒绝”- 原因:用户名错误或密码不正确,或22端口未开放;- 解决方案:确认用户名是“root”,重置服务器密码,检查安全组是否放行22端口。2. 故障2:项目上传后无法访问- 原因:端口未开放、项目根目录配置错误、程序未启动;- 解决方案:核对安全组端口规则,检查Nginx或应用配置文件中的路径,通过命令 `ps -ef | grep 程序名` 确认程序是否运行。3. 故障3:服务器运行卡顿,访问速度慢- 原因:带宽不足、配置过低、后台运行过多无用进程;- 解决方案:升级服务器带宽或配置,通过 `top` 命令查看进程占用情况,关闭无用进程(`kill -9 进程ID`)。4. 故障4:数据库连接失败- 原因:数据库未启动、用户名密码错误、未授权远程访问;- 解决方案:启动数据库服务(`systemctl start mysqld`),核对数据库账号密码,授权数据库允许远程访问(`grant all privileges on *.* to 'root'@'%' identified by '密码';`)。5. 故障5:一键安装包执行失败- 原因:服务器网络问题、依赖包缺失;- 解决方案:检查服务器网络是否正常(`ping www.baidu.com`),安装缺失依赖包(`yum install -y 依赖包名`)。四、部署后的运维技巧:让服务器更稳定、更安全部署成功不代表结束,做好日常运维,才能保障项目长期稳定运行。1. 定期备份数据:使用云服务器自带的快照功能,每周备份一次系统盘和数据盘,防止数据丢失;2. 开启自动更新:设置系统自动更新软件包,修复安全漏洞,命令为 `yum -y install cronie && systemctl start crond && systemctl enable crond`;3. 限制登录IP:在安全组中,将远程连接端口(22)的授权对象改为自己的本地IP,避免恶意攻击;4. 监控服务器状态:使用服务商提供的监控工具,实时查看CPU、内存、带宽使用率,及时发现性能瓶颈。结语新手部署云服务器,最怕的不是步骤繁琐,而是“不敢动手”和“盲目操作”。本文从准备工作到部署流程,再到避坑运维,拆解了全流程核心要点,没有复杂的专业术语,没有晦涩的操作逻辑,只要按照步骤一步步执行,就能独立完成部署。记住,部署云服务器的核心是“理清需求→选对配置→按步骤操作→及时排错”,多动手尝试几次,你会发现,原来不用求人,自己也能搞定云服务器部署。
  • [技术干货] 算力券购买范围
    1. 目前的操作指南我只能用券购买Notebook或者workflow,是否可以用来购买云空间ECS呢~2.是否可以用券购买算力集群~在申请的时候,目前看无法配置实例
  • [互动交流] 购买弹性云服务器时会指定一个系统比如Debian,后期能改系统吗
    购买弹性云服务器时会指定一个系统比如Debian,比如我买了一年,然后体验了一个月,想把系统换成centos7,又体验一个月,想换成window,能换吗?还是要重新买ECS
  • [问题求助] TPOPS_添加主机报错_同一台服务器重做了操作系统主机添加失败
    公司测试环境,我们服务器不够,在测试完成其他项目后,重做了os,添加服务器的时候一直报账号密码不对, 用ssh 工具是能正确连接到服务器的。报错如下  希望有人给解答一下,这个怎么查看问题原因在哪,服务器的密码确定是正确的。 防火墙,selinx 也已经确认关闭了。
  • [技术干货] 高性能 Web 服务器与反向代理实战
    Nginx(发音为 "engine-x")已成为高并发、高性能 Web 服务的代名词。作为全球最受欢迎的 Web 服务器之一,Nginx 不仅被 Google、Facebook、Netflix、淘宝、京东等大型互联网公司广泛采用,更是微服务、负载均衡、API 网关等现代架构的核心组件。 一、什么是 Nginx?Nginx 是一个开源的 高性能 HTTP 服务器和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 邮件代理服务器。它由俄罗斯程序员 Igor Sysoev 于 2004 年发布,最初为解决 C10K 问题(单机支持 1 万并发连接)而设计。核心特点:特性说明高性能异步非阻塞事件驱动架构,资源消耗低,支持高并发高可靠性进程模型稳定,即使高负载下也不会崩溃热部署支持不停机更新配置、升级版本模块化设计功能通过模块扩展,灵活可定制反向代理与负载均衡支持多种负载均衡算法静态资源服务高效处理 HTML、CSS、JS、图片等静态文件二、Nginx 架构原理:为什么这么快?1. 事件驱动 + 异步非阻塞与传统 Apache 的 多进程/多线程模型(每个连接占用一个进程/线程)不同,Nginx 采用 事件驱动的异步非阻塞 I/O 模型。Master 进程:管理进程,不处理请求。Worker 进程:每个 Worker 采用单线程 + 事件循环(Event Loop)处理成千上万个并发连接。I/O 多路复用:使用 epoll(Linux)、kqueue(BSD)等机制,一个进程可监听多个 socket。✅ 优势:内存占用少,上下文切换开销小,轻松应对数万并发连接。三、Nginx 的核心应用场景1. 静态 Web 服务器Nginx 是服务静态资源的绝佳选择,性能远超应用服务器(如 Tomcat)。server { listen 80; server_name www.example.com; location / { root /var/www/html; # 静态文件目录 index index.html; } # 缓存静态资源 location ~* \.(jpg|jpeg|png|css|js)$ { expires 1y; add_header Cache-Control "public, immutable"; }}2. 反向代理(Reverse Proxy)Nginx 作为“门面”,接收客户端请求,转发给后端应用服务器(如 Java、Python、Node.js),并返回响应。server { listen 80; server_name api.example.com; location / { proxy_pass http://127.0.0.1:8080; # 转发到本地 8080 端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }}✅ 优势:隐藏后端服务器真实 IP统一入口,便于管理提升安全性3. 负载均衡(Load Balancing)Nginx 可将请求分发到多个后端服务器,实现横向扩展与高可用。配置示例:upstream backend { # 负载均衡算法 least_conn; # 最少连接 # round-robin; # 轮询(默认) # ip_hash; # IP 哈希(会话保持) # hash $request_uri; # 一致性哈希 server 192.168.1.10:8080 weight=3; # 权重 3 server 192.168.1.11:8080; server 192.168.1.12:8080 backup; # 备用服务器}server { listen 80; location / { proxy_pass http://backend; }}4. SSL/TLS 加密(HTTPS)Nginx 可作为 SSL 终端,处理 HTTPS 请求并解密后转发给后端 HTTP 服务。server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/private.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512; location / { proxy_pass http://backend; }}✅ 推荐:使用 Let's Encrypt 免费证书 + Certbot 自动续期。5. 缓存加速Nginx 支持反向代理缓存,减少后端压力,提升响应速度。# 定义缓存区proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;server { location / { proxy_cache my_cache; proxy_pass http://backend; proxy_cache_valid 200 302 10m; # 缓存 10 分钟 add_header X-Cache-Status $upstream_cache_status; }}缓存命中时,X-Cache-Status 返回 HIT,否则为 MISS。6. URL 重写与重定向# 301 永久重定向rewrite ^/old-page$ /new-page permanent;# 条件重写if ($http_user_agent ~* "bot|spider") { rewrite ^/.*$ /robots.txt break;}# 伪静态rewrite ^/article/(\d+)\.html$ /article.php?id=$1 last;四、常用配置指令详解指令作用listen监听端口和 IPserver_name匹配域名location定义 URL 路由规则root / alias文件路径映射proxy_pass反向代理目标upstream定义后端服务器组try_files尝试多个文件路径(常用于 SPA 路由)gzip启用 Gzip 压缩SPA 应用路由支持(如 Vue、React)location / { root /var/www/app; try_files $uri $uri/ /index.html;}确保前端路由刷新不 404。五、性能优化建议1. Worker 进程优化worker_processes auto; # 通常设置为 CPU 核心数worker_connections 1024; # 每个 Worker 最大连接数worker_rlimit_nofile 65535; # 提升文件描述符限制2. 开启 Gzip 压缩gzip on;gzip_types text/plain text/css application/json application/javascript text/xml application/xml;3. 启用 HTTP/2listen 443 ssl http2;减少延迟,提升加载速度。4. 静态资源缓存location ~* \.(css|js|jpg|png|gif)$ { expires 1y; add_header Cache-Control "public, immutable";}六、安全加固1. 隐藏 Nginx 版本号server_tokens off;2. 防止点击劫持add_header X-Frame-Options SAMEORIGIN;3. 防止 XSS 攻击add_header X-Content-Type-Options nosniff;add_header Content-Security-Policy "default-src 'self'";4. 限制请求频率limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;location /api/ { limit_req zone=api burst=20 nodelay;} 
  • [技术干货] 滴滴滴,您的9月份人工智能【FAQ合集】已到账,请注意查收
     2025年,堡垒机还有部署的必要吗?cid:link_2AI在智能交通系统中的优化与调度研究cid:link_3大模型真的会“思考”吗?cid:link_4面向超节点互联协议"灵衢"cid:link_5有哪些图像增强的方法?cid:link_0AI大模型是如何理解图像的? cid:link_6扩散模型和生成对抗网络哪个好?cid:link_7模型的输入尺寸与模型的参数量有关系吗?cid:link_8强化学习在无人驾驶系统中的应用与挑战cid:link_989% 的美国学生承认使用 AI 做作业!你们觉得 AI 对教育界而言是好还是不好?cid:link_1
  • [互动交流] 为什么弹性云服务器购买页中提供的镜像比产品文档中支持的操作系统版本要少?
    新人提问:镜像服务的以下产品文档的表3列举了Ubuntu/Debian等一系列操作系统弹性云服务器类型与支持的操作系统版本为什么弹性云服务器购买页(如下图)提供的公共镜像比这少很多?是有些支持的操作系统没有相应的公共镜像吗?  
  • [问题求助] 网络连接如何加速
    已经创建 OBS,ECS,使用 ECS 在线下载数据集到 OBS,但是有 50 个 T请问如何加速 ECS 下载速度,尤其是到外网的速度
  • 是否提供310p npu 算力?
    我们打算测试一下310p的推理,但是两种租算力的方式: Notebook 以及轻算力节点,搜了一下各个区域,都没有找到310的npu算力。请问有310p算力吗?
  • [问题求助] 弹性云服务器中NPU租用问题
     为什么售罄了,请问什么时候能补货?不管是哪个节点,有关NPU全部售罄了,好奇怪啊