You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

59 lines
1.5 KiB

#!/bin/bash
# Linux部署脚本
echo "开始部署LTEMvcApp到Linux..."
# 检查是否安装了.NET Runtime
if ! command -v dotnet &> /dev/null; then
echo "错误: 未找到.NET Runtime,请先安装.NET 6.0或更高版本"
echo "安装命令: sudo apt-get update && sudo apt-get install -y dotnet-runtime-6.0"
exit 1
fi
# 检查端口15001是否被占用
if lsof -Pi :15001 -sTCP:LISTEN -t >/dev/null ; then
echo "警告: 端口15001已被占用,请先停止占用该端口的进程"
echo "查看占用进程: lsof -i :15001"
exit 1
fi
# 创建部署目录
DEPLOY_DIR="./deploy"
if [ -d "$DEPLOY_DIR" ]; then
rm -rf "$DEPLOY_DIR"
fi
mkdir -p "$DEPLOY_DIR"
# 发布应用
echo "正在发布应用..."
dotnet publish -c Release -o "$DEPLOY_DIR" --self-contained false
if [ $? -ne 0 ]; then
echo "发布失败,请检查项目配置"
exit 1
fi
echo "应用发布成功到目录: $DEPLOY_DIR"
# 启动应用
echo "正在启动应用..."
cd "$DEPLOY_DIR"
dotnet LTEMvcApp.dll &
# 等待应用启动
sleep 3
# 检查应用是否成功启动
if curl -s http://localhost:15001 > /dev/null; then
echo "✅ 应用启动成功!"
echo "🌐 访问地址: http://localhost:15001"
echo "🌐 外部访问: http://$(hostname -I | awk '{print $1}'):15001"
echo ""
echo "📋 常用命令:"
echo " 查看日志: tail -f nohup.out"
echo " 停止应用: pkill -f LTEMvcApp"
echo " 查看进程: ps aux | grep LTEMvcApp"
else
echo "❌ 应用启动失败,请检查日志"
exit 1
fi