91 lines
2.2 KiB
Bash
91 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# Aluer ServerGuard 一键安装脚本
|
|
|
|
echo "========================================="
|
|
echo " Aluer ServerGuard 一键部署"
|
|
echo "========================================="
|
|
|
|
# 检查root权限
|
|
if [ "$EUID" -ne 0 ]; then
|
|
echo "请使用 sudo 运行此脚本"
|
|
exit 1
|
|
fi
|
|
|
|
# 1. 安装Java
|
|
echo "[1/5] 正在安装 Java 17..."
|
|
if command -v java &> /dev/null; then
|
|
echo "Java已安装: $(java -version 2>&1 | head -1)"
|
|
else
|
|
apt update && apt install openjdk-17-jdk -y
|
|
echo "Java 安装完成"
|
|
fi
|
|
|
|
# 2. 创建工作目录
|
|
echo "[2/5] 创建工作目录..."
|
|
mkdir -p /opt/serverguard
|
|
cd /opt/serverguard
|
|
echo "工作目录: /opt/serverguard"
|
|
|
|
# 3. 提示上传jar
|
|
echo "[3/5] 上传 jar 包..."
|
|
echo "请将 serverguard.jar 上传到 /opt/serverguard/"
|
|
echo "上传命令: scp serverguard.jar user@你的服务器IP:/opt/serverguard/"
|
|
echo ""
|
|
|
|
# 等待jar文件
|
|
while [ ! -f serverguard.jar ]; do
|
|
echo "等待上传 jar 包... (按 Ctrl+C 退出)"
|
|
sleep 5
|
|
done
|
|
echo "jar 包已就绪"
|
|
|
|
# 4. 配置systemd服务
|
|
echo "[4/5] 配置系统服务..."
|
|
cat > /etc/systemd/system/serverguard.service << 'EOF'
|
|
[Unit]
|
|
Description=Aluer ServerGuard
|
|
After=network.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/opt/serverguard
|
|
ExecStart=/usr/bin/java -jar /opt/serverguard/serverguard.jar
|
|
ExecStop=/bin/kill -15 $MAINPID
|
|
Restart=always
|
|
RestartSec=10
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable serverguard
|
|
|
|
# 5. 启动服务
|
|
echo "[5/5] 启动服务..."
|
|
systemctl start serverguard
|
|
sleep 3
|
|
|
|
# 检查状态
|
|
if systemctl is-active --quiet serverguard; then
|
|
echo ""
|
|
echo "========================================="
|
|
echo " ✓ 部署成功!"
|
|
echo "========================================="
|
|
echo ""
|
|
echo "访问地址: http://你的服务器IP:8080"
|
|
echo "API测试: curl http://localhost:8080/api/status"
|
|
echo ""
|
|
echo "管理命令:"
|
|
echo " 查看状态: systemctl status serverguard"
|
|
echo " 查看日志: journalctl -u serverguard -f"
|
|
echo " 重启服务: systemctl restart serverguard"
|
|
echo " 停止服务: systemctl stop serverguard"
|
|
else
|
|
echo ""
|
|
echo "部署失败,请查看日志:"
|
|
echo " journalctl -u serverguard"
|
|
fi
|