惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog
WordPress大学
WordPress大学
Jina AI
Jina AI
GbyAI
GbyAI
aimingoo的专栏
aimingoo的专栏
N
Netflix TechBlog - Medium
腾讯CDC
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
Google DeepMind News
Google DeepMind News
月光博客
月光博客
博客园 - Franky
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
雷峰网
雷峰网
小众软件
小众软件
H
Hackread – Cybersecurity News, Data Breaches, AI and More

Sonui – 魔帆博客

【记录】使用Golang开发腾讯云函数踩的坑 | 魔帆博客 C/C++ 二叉树 | 魔帆博客 Linux 报错Certificate verification failed: The certificate is NOT trusted. | 魔帆博客 Python 数字大小写转换 | 魔帆博客 Windows10 系统盘开启 Bitlocker | 魔帆博客 【源码】打猎游戏 html 纯原生代码 | 魔帆博客 VS Code C/C++ 环境配置 | 魔帆博客 【技巧】干掉第三方抢票!如何以最快的速度抢到火车票 | 魔帆博客 【记录】Deepin 桌面无限转圈(风火轮) | 魔帆博客 easySQLite使用帮助 | 魔帆博客 【软件】QQ坦白说发送者查看 --已凉 | 魔帆博客 手把手教你重装原版纯净Windows系统-魔帆出品 | 魔帆博客 【软件】XML文本解析器 | 魔帆博客 【软件】Mac OS环境下最强虚拟机软件--Parallels Desktop | 魔帆博客 【镜像】Mac OS X El Capitan 10.11 (15B42) 懒人版安装镜像 支持变色龙和Clvoer引导 | 魔帆博客 【技术向】如何获取指定QQ在线状态 | 魔帆博客 QQ广告屏蔽器 | 魔帆博客 【开源】自己写的机器人插件源码部分开源 | 魔帆博客 5月20号真的是潘金莲毒死武大郎的日子么?? | 魔帆博客
【笔记】Hydro二次开发总结 前端篇(一) | 魔帆博客
Sonui · 2022-04-03 · via Sonui – 魔帆博客

前置知识

  • react(JavaScript框架)
  • stylues(Nodejs的css处理器)

开发环境

  • Nodejs 16.14.2 hydro的workspace需要至少node16,而17会出现问题没细研究,用16了
  • VSCode
  • Git
  • Mongodb
  • Linux 如果习惯win推荐使用WSL

然后安装yarn及npx

npm install -g yarn
yarn global add npx
npm install -g pm2

*确保安装过程中无错误后继续下一步

数据库

安装

我使用的环境是Ubuntu20.4,安装的版本为5.0,如果同需求可以到Install MongoDB Community Edition on Linux — MongoDB Manual 参考安装方法

*接下来步骤均在root下执行

wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -  #添加证书
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list #添加mongodb安装源
apt-get update
sudo apt-get install -y mongodb-org

启动

默认情况下 MongoDB 启动后会初始化以下两个目录:

  • 数据存储目录:/var/lib/mongodb
  • 日志文件目录:/var/log/mongodb

在启动前可以先创建这两个目录并设置当前用户有读写权限:

sudo mkdir -p /var/lib/mongo
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongo     # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限

接下来启动 Mongodb 服务:

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

打开 /var/log/mongodb/mongod.log 文件看到以下信息,说明启动成功。

# tail -10f /var/log/mongodb/mongod.log
2020-07-09T12:20:17.391+0800 I NETWORK [listener] Listening on /tmp/mongodb-27017.sock
2020-07-09T12:20:17.392+0800 I NETWORK [listener] Listening on 127.0.0.1
2020-07-09T12:20:17.392+0800 I NETWORK [listener] waiting for connections on port 27017

拉取源码

git clone https://github.com/hydro-dev/Hydro.git /root/Hydro --recursive # 可以fork原仓库后拉取到本地
cd /root/Hydro # 进入工作目录
yarn # 安装依赖包
yarn build:ui:production # 编译前端

启动

pm2 start packages/hydrooj/bin/hydrooj.js

看到状态为绿色启动成功以后,就可以通过 http://[::1]:8888 访问

参考资料

开发环境部署 | Hydro

Linux 平台安装 MongoDB | 菜鸟教程 (runoob.com)

Install MongoDB Community Edition on Linux — MongoDB Manual