feat: 添加服务管理脚本和Dockerfile
This commit is contained in:
@@ -260,18 +260,92 @@ sudo iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT
|
||||
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
|
||||
```
|
||||
|
||||
## 开机自启(可选)
|
||||
## 服务管理脚本
|
||||
|
||||
### Windows - 任务计划程序
|
||||
项目提供了 Windows 和 Linux 的服务管理脚本,支持安装、卸载、启动、停止、重启、开机自启等操作。
|
||||
|
||||
### Windows - service-windows.bat
|
||||
|
||||
以**管理员身份**运行 `scripts/service-windows.bat`,进入交互式菜单:
|
||||
|
||||
```
|
||||
========================================
|
||||
FTP Server 服务管理工具
|
||||
========================================
|
||||
|
||||
1. 安装服务 (注册为 Windows 服务)
|
||||
2. 卸载服务
|
||||
3. 启动服务
|
||||
4. 停止服务
|
||||
5. 重启服务
|
||||
6. 查看服务状态
|
||||
7. 开机自启 - 开启
|
||||
8. 开机自启 - 关闭
|
||||
9. 查看运行日志
|
||||
0. 退出
|
||||
```
|
||||
|
||||
使用前将 `scripts/service-windows.bat` 复制到 `ftp-server.exe` 同目录下,然后右键"以管理员身份运行"。
|
||||
|
||||
### Linux - service-linux.sh
|
||||
|
||||
```bash
|
||||
# 添加执行权限
|
||||
chmod +x scripts/service-linux.sh
|
||||
|
||||
# 交互式菜单
|
||||
sudo ./scripts/service-linux.sh menu
|
||||
|
||||
# 或直接使用命令
|
||||
sudo ./scripts/service-linux.sh install # 安装为 systemd 服务
|
||||
sudo ./scripts/service-linux.sh start # 启动
|
||||
sudo ./scripts/service-linux.sh stop # 停止
|
||||
sudo ./scripts/service-linux.sh restart # 重启
|
||||
sudo ./scripts/service-linux.sh status # 查看状态
|
||||
sudo ./scripts/service-linux.sh enable # 设置开机自启
|
||||
sudo ./scripts/service-linux.sh disable # 关闭开机自启
|
||||
sudo ./scripts/service-linux.sh logs # 查看实时日志
|
||||
sudo ./scripts/service-linux.sh uninstall # 卸载服务
|
||||
```
|
||||
|
||||
脚本会自动在 `/etc/systemd/system/ftp-server.service` 创建 systemd 服务文件。
|
||||
|
||||
### Docker 运行
|
||||
|
||||
```bash
|
||||
# 构建镜像
|
||||
docker build -t ftp-server .
|
||||
|
||||
# 运行容器
|
||||
docker run -d \
|
||||
--name ftp-server \
|
||||
-p 2121:2121 \
|
||||
-p 50000-50100:50000-50100 \
|
||||
-p 8080:8080 \
|
||||
-v ./data:/app/data \
|
||||
-v ./ftp_root:/app/ftp_root \
|
||||
-v ./config.json:/app/config.json \
|
||||
ftp-server
|
||||
|
||||
# 查看日志
|
||||
docker logs -f ftp-server
|
||||
```
|
||||
|
||||
### 手动设置开机自启
|
||||
|
||||
<details>
|
||||
<summary>Windows - 任务计划程序(点击展开)</summary>
|
||||
|
||||
```powershell
|
||||
# 创建开机自启任务
|
||||
schtasks /create /tn "FTP Server" /tr "C:\path\to\ftp-server.exe" /sc onstart /ru SYSTEM
|
||||
```
|
||||
|
||||
### Linux - systemd
|
||||
</details>
|
||||
|
||||
创建服务文件 `/etc/systemd/system/ftp-server.service`:
|
||||
<details>
|
||||
<summary>Linux - 手动创建 systemd 服务(点击展开)</summary>
|
||||
|
||||
创建 `/etc/systemd/system/ftp-server.service`:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
@@ -290,20 +364,14 @@ RestartSec=5
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
启动并设置开机自启:
|
||||
|
||||
```bash
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl start ftp-server
|
||||
sudo systemctl enable ftp-server
|
||||
|
||||
# 查看状态
|
||||
sudo systemctl status ftp-server
|
||||
|
||||
# 查看日志
|
||||
sudo journalctl -u ftp-server -f
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
@@ -317,6 +385,10 @@ ftp-server/
|
||||
│ ├── index.html # 管理界面
|
||||
│ ├── css/style.css # 样式
|
||||
│ └── js/app.js # 前端逻辑
|
||||
├── scripts/
|
||||
│ ├── service-windows.bat # Windows 服务管理脚本
|
||||
│ └── service-linux.sh # Linux 服务管理脚本
|
||||
├── Dockerfile # Docker 构建文件
|
||||
├── go.mod # Go 模块定义
|
||||
└── go.sum # 依赖校验
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user