StellarFrpc 使用教程
本教程将指导您在 Linux 系统上使用 StellarFrpc,并支持多条隧道配置及后台运行。
1. 检查系统架构
在下载前,我们需要确认您的系统架构。
执行以下命令查看系统架构:
uname -m
常见的返回值和对应架构如下:
x86_64
:64 位系统i386
或i686
:32 位系统armv7l
或aarch64
:ARM 架构
根据输出选择正确的下载文件。
2. 下载 StellarFrpc
根据您的系统架构,前往以下地址下载对应的 StellarFrpc 客户端:
下载完成后,将文件保存到您的工作目录中。
3. 解压并设置权限
假设下载的文件名为 stellarfrpc.tar.gz
,使用以下命令解压并设置权限:
tar -xvzf stellarfrpc.tar.gz
cd stellarfrpc
chmod +x stellarfrpc
4. 配置隧道
StellarFrpc 的启动命令格式为:
./stellarfrpc -u <token> -t <隧道名1,隧道名2,...>
示例:启动多条隧道
假设您的 token
是 example_token
,需要启动 隧道1
、隧道2
和 隧道3
,执行以下命令:
./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3
此命令会同时启动多个隧道。
5. 持续运行
为了让 StellarFrpc 持续运行,您可以选择以下方法之一:
方法 1:使用 screen
安装 screen
:
sudo apt-get install screen
创建一个新的 screen
会话并运行 StellarFrpc:
screen -S stellarfrpc ./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3
按下 Ctrl + A
,然后按 D
退出 screen
,进程将继续在后台运行。
方法 2:使用 nohup
使用 nohup
命令运行:
nohup ./stellarfrpc -u example_token -t 隧道1,隧道2,隧道3 > output.log 2>&1 &
此方式会将输出记录到 output.log
文件中。
方法 3:使用 pm2
安装 pm2
:
npm install -g pm2
使用 pm2
启动 StellarFrpc:
pm2 start ./stellarfrpc -- -u example_token -t 隧道1,隧道2,隧道3
查看运行状态:
pm2 status
停止服务:
pm2 stop stellarfrpc
方法 4:使用 systemd
(推荐)
使用 systemd
可以将 StellarFrpc 设置为系统服务,实现开机自启动和便捷管理。
- 创建服务配置文件:
sudo nano /etc/systemd/system/stellarfrpc.service
- 在文件中添加以下内容:
[Unit]
Description=StellarFrp Client Service
After=network.target
Wants=network-online.target
# 如果需要在其他服务之后启动,可以添加以下行
# After=mysql.service
[Service]
# 服务类型
Type=simple
# 运行服务的用户
User=root
# 可选:运行服务的用户组
# Group=root
# 工作目录设置(非常重要)
# 这里必须设置为 StellarFrpc 所在的完整路径
# 例如:如果您的 stellarfrpc 在 /home/username/stellarfrpc 目录下
WorkingDirectory=/path/to/stellarfrpc/directory
# 启动命令设置
# 必须使用完整路径指向可执行文件
ExecStart=/path/to/stellarfrpc/directory/stellarfrpc -u example_token -t 隧道1,隧道2,隧道3
# 环境变量设置(可选)
# Environment="VAR1=value1" "VAR2=value2"
# 重启策略
Restart=always
RestartSec=5
# 资源限制(可选)
# LimitNOFILE=65535
# 进程优先级设置(可选,-20 到 19,-20 最高优先级)
# Nice=0
# 安全设置(可选,增强安全性)
# ProtectSystem=full
# PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 服务配置文件关键参数详解:
[Unit] 部分
Description
:服务描述,便于识别After
:指定本服务应在哪些服务之后启动Wants
:指定本服务与其他服务的弱依赖关系
[Service] 部分
Type
:服务类型,常用选项:simple
:默认值,ExecStart 启动的进程为主进程forking
:ExecStart 启动的进程会调用 fork() 创建子进程,父进程退出后服务启动成功oneshot
:类似 simple,但进程退出后服务就结束
User
/Group
:指定运行服务的用户和用户组- 建议:出于安全考虑,最好创建专用的低权限用户运行服务
- 示例:
useradd -r -s /sbin/nologin stellarfrp
WorkingDirectory
:工作目录设置(非常重要)- 必须设置为 StellarFrpc 可执行文件所在目录的完整路径
- 错误的工作目录会导致服务无法正常启动
- 示例:如果您的文件在
/home/username/stellarfrpc/
目录下,则设置为该路径
ExecStart
:启动命令- 必须使用可执行文件的完整路径
- 参数中的 token 和隧道名称根据实际情况修改
Environment
:设置环境变量(可选)- 格式:
Environment="VAR1=value1" "VAR2=value2"
- 格式:
Restart
:重启策略always
:总是重启on-failure
:仅在异常退出时重启on-abnormal
:在收到信号、超时或异常退出时重启
RestartSec
:重启前等待的秒数
[Install] 部分
WantedBy
:定义服务的启动目标,multi-user.target
表示多用户模式
- 工作目录设置实例
假设您的 StellarFrpc 位于 /home/username/stellarfrp/
目录下:
[Service]
User=username
WorkingDirectory=/home/username/stellarfrp
ExecStart=/home/username/stellarfrp/stellarfrpc -u your_token -t 隧道1,隧道2
如果您使用 root 用户并将 StellarFrpc 放在 /opt/stellarfrp/
目录:
[Service]
User=root
WorkingDirectory=/opt/stellarfrp
ExecStart=/opt/stellarfrp/stellarfrpc -u your_token -t 隧道1,隧道2
保存并关闭文件
重新加载 systemd 配置:
sudo systemctl daemon-reload
- 启用服务(设置开机自启):
sudo systemctl enable stellarfrpc.service
- 启动服务:
sudo systemctl start stellarfrpc.service
- 查看服务状态:
sudo systemctl status stellarfrpc.service
- 管理服务的常用命令:
# 停止服务
sudo systemctl stop stellarfrpc.service
# 重启服务
sudo systemctl restart stellarfrpc.service
# 禁用开机自启
sudo systemctl disable stellarfrpc.service
- 日志管理:
# 查看服务日志
sudo journalctl -u stellarfrpc.service
# 查看最近的50行日志
sudo journalctl -u stellarfrpc.service -n 50
# 实时查看日志(类似 tail -f)
sudo journalctl -u stellarfrpc.service -f
# 查看特定时间段的日志
sudo journalctl -u stellarfrpc.service --since "2023-01-01" --until "2023-01-02"
# 查看今天的日志
sudo journalctl -u stellarfrpc.service --since today
- 日志轮转配置(可选):
如果您希望对 StellarFrpc 的日志进行自动轮转,可以创建 logrotate 配置:
sudo nano /etc/logrotate.d/stellarfrpc
添加以下内容:
/var/log/stellarfrpc.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 640 root root
}
使用 systemd 管理 StellarFrpc 的优势在于:
- 服务异常退出时会自动重启
- 开机自动启动
- 便于管理和查看日志
- 可以设置资源限制和安全策略
- 可以与其他系统服务建立依赖关系
查看运行状态:
pm2 status
停止服务:
pm2 stop stellarfrpc
6. 查看运行状态
您可以使用以下命令检查 StellarFrpc 是否正在运行:
ps aux | grep stellarfrpc
如果使用 pm2
,可以直接执行:
pm2 status
7. 停止 StellarFrpc
找到运行的进程 ID (PID) 并终止:
ps aux | grep stellarfrpc
kill -9 <PID>
如果使用 pm2
,执行以下命令停止服务:
pm2 stop stellarfrpc
8. 常见问题
无法启动
检查是否有执行权限:bashchmod +x stellarfrpc
无法连接
确保您的网络环境可以访问 StellarFrp 服务器。后台服务意外中断
使用pm2
或screen
可以更好地保证稳定运行。
9. 官方交流
如有其他问题或需要技术支持,欢迎加入 StellarFrp 官方群: