Script-Hub部署完全指南:从本地到服务器的完整方案
Script-Hub是一款功能强大的脚本转换工具,支持QX、Loon、Surge、Stash、Egern等多种代理工具的规则集转换,是开发者和网络爱好者的必备工具。本指南将带您从本地环境到服务器部署,全面掌握Script-Hub的安装与配置方法。
📋 准备工作:环境要求与依赖
在开始部署Script-Hub之前,请确保您的系统满足以下基本要求:
- Node.js:v14.0.0或更高版本
- 包管理器:pnpm(推荐)或npm/yarn
- Git:用于克隆项目仓库
- Docker(可选):用于容器化部署
主要依赖库已在项目的package.json中定义,包括:
koa:轻量级Web框架lodash:实用工具库http-server:静态文件服务nodemon:开发热重载工具
🔧 本地部署:快速启动开发环境
1. 克隆项目仓库
首先通过Git克隆Script-Hub项目到本地:
git clone https://gitcode.com/gh_mirrors/sc/Script-Hub cd Script-Hub2. 安装依赖包
使用pnpm安装项目依赖(推荐):
pnpm install如果没有安装pnpm,可以使用npm:
npm install3. 启动开发服务
项目提供了便捷的开发启动脚本,在package.json中定义了以下命令:
# 启动服务 pnpm service # 启动预览服务 pnpm preview # 导出HTML静态文件 pnpm export_html启动成功后,您可以通过http://localhost:9100访问Script-Hub服务。
Script-Hub项目Logo,支持深色和浅色两种主题
🚀 服务器部署:生产环境配置方案
选项1:传统部署方式
- 准备服务器环境
确保服务器已安装Node.js和pnpm:
# 安装Node.js(以Ubuntu为例) curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs # 启用corepack(包含pnpm) corepack enable- 部署项目文件
将本地项目文件上传到服务器,或直接在服务器克隆仓库:
git clone https://gitcode.com/gh_mirrors/sc/Script-Hub /opt/script-hub cd /opt/script-hub pnpm install --prod- 使用进程管理工具
推荐使用PM2管理服务进程:
# 安装PM2 pnpm add -g pm2 # 启动服务 pm2 start pnpm --name "script-hub" -- service # 设置开机自启 pm2 startup pm2 save选项2:Docker容器化部署
项目根目录提供了Dockerfile,支持容器化部署:
- 构建Docker镜像
docker build -t script-hub:latest .- 运行容器
docker run -d \ --name script-hub \ -p 9100:9100 \ -p 9101:9101 \ --restart always \ script-hub:latestDockerfile采用多阶段构建,使用Node.js 18 Alpine基础镜像,确保了镜像体积小巧且运行高效。
⚙️ 核心模块与配置说明
Script-Hub的核心功能模块位于以下路径:
- 主程序入口:
index.js - 服务端代码:
service.js - 预览功能:
preview.js - 脚本转换器:
script-converter.js和script-converter.beta.js - 规则解析器:
rule-parser.js和rule-parser.beta.js - 模块配置文件:
modules/目录下包含各代理工具的配置模板
主要配置文件说明:
package.json:项目依赖和脚本定义dockerignore:Docker构建忽略文件列表
🔍 常见问题与解决方法
Q: 启动服务后无法访问?
A: 检查端口是否被占用,默认使用9100和9101端口,可在service.js中修改端口配置。
Q: 依赖安装失败?
A: 尝试清除npm/pnpm缓存,或使用淘宝镜像源:
pnpm config set registry https://registry.npmmirror.comQ: Docker部署后服务无法启动?
A: 检查容器日志:docker logs script-hub,确保端口未被主机占用。
📝 总结
通过本指南,您已掌握Script-Hub从本地开发到服务器部署的完整流程。无论是开发环境的快速搭建,还是生产环境的稳定部署,Script-Hub都提供了灵活的方案选择。借助Docker容器化部署,可以大幅简化跨平台迁移和版本管理过程。
如果您在部署过程中遇到任何问题,欢迎查阅项目文档或提交issue获取帮助。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考