写了个安装脚本
This commit is contained in:
Executable
+58
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne 0 ]; then
|
||||
echo "请使用 root 用户执行此脚本: sudo bash install_linux.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ">>> 拉取最新代码..."
|
||||
git pull
|
||||
|
||||
echo ">>> 安装前端依赖并构建..."
|
||||
cd frontend
|
||||
npm install
|
||||
npm run build
|
||||
cd ..
|
||||
|
||||
echo ">>> 编译 Go 后端..."
|
||||
go build -o lmvpn .
|
||||
|
||||
echo ">>> 创建 lmvpn 系统用户..."
|
||||
if ! id lmvpn &>/dev/null; then
|
||||
useradd -r -s /bin/false lmvpn
|
||||
echo "用户 lmvpn 已创建"
|
||||
else
|
||||
echo "用户 lmvpn 已存在,跳过创建"
|
||||
fi
|
||||
|
||||
echo ">>> 部署到 /opt/lmvpn..."
|
||||
mkdir -p /opt/lmvpn
|
||||
cp lmvpn /opt/lmvpn/
|
||||
cp -r dist /opt/lmvpn/
|
||||
chown -R lmvpn:lmvpn /opt/lmvpn
|
||||
|
||||
echo ">>> 安装 systemd 服务..."
|
||||
cat > /etc/systemd/system/lmvpn.service << 'EOF'
|
||||
[Unit]
|
||||
Description=LMVPN Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=lmvpn
|
||||
WorkingDirectory=/opt/lmvpn
|
||||
ExecStart=/opt/lmvpn/lmvpn
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable lmvpn
|
||||
|
||||
echo ">>> 安装完成"
|
||||
echo "启动服务: systemctl start lmvpn"
|
||||
echo "查看状态: systemctl status lmvpn"
|
||||
Reference in New Issue
Block a user