从零开始完整安装 ReMan
本文将详细介绍如何从零开始完整安装 ReMan,包含所有关键配置和注意事项。
📺 视频教程:https://www.bilibili.com/video/BV1iR2NYeE51/
系统要求
- 最低配置:2核4G内存
- 推荐系统:Ubuntu 22.04
- 必需组件:Docker、Docker Compose
第一步:准备组件包
下载必需文件
📥 组件包下载:https://wwhb.lanzn.com/iLyLF2qj0adg
解压后包含以下文件:
docker-compose.yml
- 一键部署配置文件redis.conf
- Redis配置文件elasticsearch.yml
- Elasticsearch配置文件plugins/
- Elasticsearch插件目录
配置数据库密码
编辑 docker-compose.yml
,修改MySQL相关配置:
services:
mysql:
network_mode: 'bridge'
environment:
MYSQL_ROOT_PASSWORD: '123456' # 设置MySQL root密码
MYSQL_USER: 'tim' # 普通用户名
MYSQL_PASS: '123456' # 普通用户密码
⚠️ 重要:请将密码修改为强密码,确保系统安全性
第二步:安装Docker环境
安装Docker
详细安装步骤请参考:Docker安装指南
验证安装
执行以下命令验证安装成功:
docker -v
docker compose version
正确输出示例
第三步:部署基础服务
启动服务容器
将组件包解压到 /root/env
目录(推荐路径),然后执行:
cd /root/env
sudo docker compose up -d
部署过程参考
Docker拉取镜像中:
部署完成:
配置MySQL数据库
1. 进入MySQL容器
# 查看容器状态
sudo docker ps
# 进入MySQL容器(替换为实际容器ID)
sudo docker exec -it <容器ID> bash
容器ID查看示例
2. 创建数据库和用户
# 登录MySQL
mysql -u root -p
执行以下SQL语句:
-- 创建数据库
CREATE DATABASE `reman` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci';
-- 创建用户(替换[password]为实际密码)
CREATE USER `reman`@`%` IDENTIFIED BY '[password]';
-- 授权
GRANT Alter, Alter Routine, Create, Create Routine, Create Temporary Tables, Create View, Delete, Drop, Event, Execute, Grant Option, Index, Insert, Lock Tables, References, Select, Show View, Trigger, Update ON `reman`.* TO `reman`@`%`;
📝 注意:请将
[password]
替换为强密码并妥善保管
SQL执行参考
第四步:安装ReMan程序
上传程序文件
将ReMan压缩包解压到 /root/app
目录:
- 确保目录包含
reman
可执行文件 - 确保包含
config.yml
配置文件
💡 提示:如解压后目录名为
reman-xxxxx
,请重命名为reman
配置文件详解
编辑 config.yml
文件,逐项配置:
应用基础配置
app:
mode: release
port: 4677
license: your_license_code # 替换为你的授权码
跨域配置
cors:
allowCredentials: true
allowOrigin:
- http://localhost:*
- http://127.0.0.1:*
- https://yourdomain.com # 替换为你的域名
- https://www.yourdomain.com
- http://yourdomain.com
- http://www.yourdomain.com
maxAge: 24h
数据库配置
db:
database: reman
dialect: mysql
host: 127.0.0.1
username: reman
password: 这里填写reman用户密码 # 注意:不是root密码
port: 3306
autoMigrate: true
Elasticsearch配置
es:
enable: true
address: http://127.0.0.1:9200
diskIndex: reman-disk-v1
JWT配置
jwt:
secret: 至少32位的随机字符串 # 重要:必须修改
expire: 24h
issuer: reman
⚠️ 安全警告:JWT密钥长度必须大于32位,否则程序无法启动
Redis配置
redis:
addr: 127.0.0.1:6379
db: 0
password: ''
首次启动
cd /root/app
chmod +x reman
./reman
启动成功示例
重要:记录输出中的管理员账号信息:
Admin user created, username: admin, password: r1a8O8H7
启动成功后按 Ctrl + C
退出。
第五步:进程管理
安装PM2
详细安装步骤:PM2安装指南
启动服务
cd /root/app
# 启动ReMan服务
pm2 start reman
# 保存进程列表
pm2 save
# 设置开机自启
pm2 startup
查看状态
pm2 ls
PM2状态示例
第六步:配置反向代理
推荐使用Caddy
对于新手推荐使用Caddy,配置简单且自动HTTPS。
详细配置:Caddy配置指南
快速配置步骤
- 创建用户和目录
sudo groupadd --system caddy
sudo useradd --system \
--gid caddy \
--create-home \
--home-dir /var/lib/caddy \
--shell /usr/sbin/nologin \
--comment "Caddy web server" \
caddy
- 安装二进制文件
# 移动Caddy二进制文件
mv caddy_linux_amd64 /usr/local/sbin/caddy
chmod +x /usr/local/sbin/caddy
# 创建配置目录
mkdir /etc/caddy
touch /etc/caddy/Caddyfile
- 创建系统服务
创建 /etc/systemd/system/caddy.service
:
[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/local/sbin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/local/sbin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
- 配置Caddyfile
编辑 /etc/caddy/Caddyfile
:
{
email your-email@example.com
}
yourdomain.com www.yourdomain.com {
reverse_proxy http://127.0.0.1:4677
}
- 启动服务
sudo systemctl daemon-reload
sudo systemctl enable --now caddy
维护和更新
程序更新
详细更新步骤:更新指南
日常维护
- 定期检查服务状态:
pm2 ls
- 查看日志:
pm2 logs reman
- 重启服务:
pm2 restart reman
故障排除
常见问题
- 数据库连接失败:检查MySQL服务状态和用户权限
- 端口占用:使用
netstat -tulpn | grep 4677
检查端口 - 权限问题:确保文件具有执行权限
获取帮助
如遇到问题,请查看日志文件或联系技术支持。
文件参考
caddy.service
[Unit]
Description=Caddy
Documentation=<https://caddyserver.com/docs/>
After=network.target network-online.target
Requires=network-online.target
[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/local/sbin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/local/sbin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
[Install]
WantedBy=multi-user.target
Caddyfile
以下内容保存在:/etc/caddy/Caddyfile
{
email test@example.com
}
example.com www.example.com {
reverse_proxy http://127.0.0.1:4677
}
启动并开机自启:
sudo systemctl daemon-reload
sudo systemctl enable --now caddy
程序更新
关闭防火墙
建议服务器仅开放:22
,80
,443
端口,其他端口都关闭。
ReMan 目前依赖的服务涉及的端口如下 :3306
、6379
、9200
、4677
、9300
、80
、443
。
其中,特别是 3306
、6379
、9200
、9300
这几个端口,是必须关闭的,这涉及到数据安全问题,不然容易被别人连接。
特别强调: 不要信任宝塔的防火墙功能,请务必在服务器商提供的后台进行防火墙设置,宝塔的功能基于系统,但是某些厂商的提供的系统有问题。
特别强调: 不要信任宝塔的防火墙功能,请务必在服务器商提供的后台进行防火墙设置,宝塔的功能基于系统,但是某些厂商的提供的系统有问题。
特别强调: 不要信任宝塔的防火墙功能,请务必在服务器商提供的后台进行防火墙设置,宝塔的功能基于系统,但是某些厂商的提供的系统有问题。
雨云防火墙参考: