阿里云部署mcphub

我的服务器是阿里云的99计划2核-2g-40g,选取的镜像系统为Ubuntu 24

采用在宝塔上部署mcp-hub项目(如何你的服务器只有1核1g,推荐在1panel上部署,更加轻量化,消耗资源更少)

宝塔下载

下载地址

image-20251220221347564

1.我选的是稳定10版本,进入阿里云的实例界面

image-20251220221731504
image-20251220221838253

2.进入后输入

sudo -i #确保为root用户操作
image-20251220222201497

复制后将命令粘贴进去,输入y后就会开始安装。

安装完成后会返回给你登录的外网链接,用户名和密码。如下格式所示

 【云服务器】请在安全组放行xxxxx 端口
 外网ipv4面板地址: https://....
 内网面板地址:     https://...
 username: xxxx
 password: xxxx

3.服务器放行端口

image-20251220222723969
image-20251220222812682
image-20251220223435061

4.访问宝塔界面

输入返回给你的账号密码,登录后访问(提示不安全,选择继续)

环境配置,软件下载

1.node管理器下载

image-20251220223845602

点击设置

image-20251220224003518
image-20251220224234986

2.终端pnpm环境下载

点击终端,输入以下命令,依次执行

node -v #node版本检查
npm -v #npm版本检查
npm install -g pnpm #下载pnpm环境
pnpm -v #pnpm版本检查
image-20251220224802110

3.项目克隆

点击文件,新建一个mcphub文件夹。

image-20251220225122983

点击进入文件,点击上面的终端,进入终端界面。

image-20251220225254375

项目地址

在终端运行以下命令。

克隆仓库

# 克隆仓库
git clone https://github.com/samanhappy/mcphub.git
cd mcphub

安装依赖

# 使用 pnpm 安装依赖(推荐)
pnpm install

# 或使用 npm
npm install

# 或使用 yarn
yarn install

项目启动

# 在开发模式下同时启动后端和前端
pnpm dev

# 这将启动:
# - 后端在 http://localhost:3001
# - 前端在 http://localhost:5173
# - 前端代理 API 调用到后端

添加node项目

image-20251221140105969
image-20251221140422120

点击设置,点击项目日志可以查看运行情况

image-20251221140618401

前端修改vite–解决域名权限问题

Vite 开发服务器vite dev server)出于安全机制,默认只允许本地回环地址(如 localhost127.0.0.1)访问。当您通过自定义域名(如 mcphub.lutu1123.site)访问时,Vite 会拒绝请求以防止 DNS 重绑定攻击(DNS Rebinding Attack)。


✅ 解决方案:配置 server.allowedHosts

请按以下步骤操作:

第一步:打开前端项目的 Vite 配置文件

编辑

/mcphub/frontend/vite.config.js

如果您的项目结构不同,请在 frontend/ 目录下查找 vite.config.jsvite.config.ts

第二步:修改 server 配置,添加 allowedHosts

编辑

// vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; // 如果是 Vue 项目

export default defineConfig({
  plugins: [vue()],
  server: {
    host: '0.0.0.0', // 允许外部访问
    //port: 5173,
    // 👇 关键配置:允许指定域名访问
    allowedHosts: [
      'xxxx.xxx',
      // 可选:添加其他合法域名
      'www.xxxx.site',
      'your-other-domain.com'
    ],
    // 或者(不推荐,仅限可信内网):
    // allowedHosts: 'all'  // ⚠️ 安全风险!仅开发环境临时使用
  },
});
image-20251221014224155

推荐做法:显式列出您信任的域名,不要使用 allowedHosts: 'all',除非在完全隔离的内网开发环境。

第三步:重启项目

解决Linux中uv环境问题–uv命令连接失败问题

这是一个非常经典的问题:“虽然你在终端里能敲命令,但程序跑起来却找不到它”。

原因分析:

虽然你在终端(Shell)里可以通过 uvx –version 看到版本,说明环境变量(PATH)对当前的你是生效的。

但是,Node.js 的 child_process.spawn(代码报错的地方)在执行时,往往不会加载 .bashrc 或 .profile 中的自定义路径(比如 uv 默认安装在 /root/.local/bin 或 /root/.cargo/bin),它只去系统标准的 /usr/bin 或 /usr/local/bin 里找。

解决方案:

最简单有效的方法是建立一个软连接(Symlink),把 uvx “挂”到系统全局目录下,让 Node.js 即使不加载环境变量也能找到它。

请依次执行以下 3 个步骤:

第一步:找到 uvx 的真实路径

在终端输入:

Bash

which uvx

预期输出可能是 /root/.local/bin/uvx 或者 /root/.cargo/bin/uvx

第二步:建立软连接到全局目录

假设第一步输出的路径是 /root/.local/bin/uvx如果你的输出不一样,请替换下面的第一部分路径),执行:

Bash

# 注意:将下面命令的第一个路径替换为你第一步查到的实际路径
ln -s /root/.local/bin/uvx /usr/local/bin/uvx

(如果提示 File exists,说明已经有了,可以尝试链接到 /usr/bin/uvx)

为了保险,最好把 uv 也链接一下:

Bash

ln -s /root/.local/bin/uv /usr/local/bin/uv

第三步:彻底重启服务

做完软连接后,Node.js 就能在标准路径下找到它了。

使用

在antigravity中使用

{
    "mcpServers": {
        "mcp-router": {
            "command": "D:\\Node.js\\node.exe",//修改成自己的
            "args": [
                "C:\\Users\\zhou\\AppData\\Roaming\\npm\\node_modules\\mcpr-cli\\dist\\mcpr.js",//修改成自己的
                "connect",
                "--host",
                "mcphub.lutu1123.site", //填域名或服务器公网ip
                "--port",
                "3000"
            ],
            "env": {
                "SystemRoot": "C:\\WINDOWS",
                "COMSPEC": "C:\\WINDOWS\\system32\\cmd.exe"
            },
            "startup_timeout_sec": 120
        }
    }
}
文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇