Ubuntu 部署 Dotnet 项目
部署 .NET Core 程序到 Ubuntu
-
安装 .NET Core SDK:
首先,你需要在 Ubuntu 上安装 .NET Core SDK。以下是具体步骤:-
打开终端并运行以下命令,将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb3 rm packages-microsoft-prod.deb
-
然后安装 .NET Core SDK:
sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-8.0 sudo apt-get update && \ sudo apt-get install -y dotnet-runtime-8.0 通过 ASP.NET Core 运行时 sudo apt-get update && \ sudo apt-get install -y aspnetcore-runtime-8.0
-
-
创建和发布 .NET Core 项目:
- 在 Windows 上使用 Visual Studio 或者命令行创建一个 .NET Core 项目。
- 使用 VS 自带的发布工具,将项目发布到一个文件夹。选择发布方式时,你可以选择独立应用或框架依赖型。独立应用会包含 .NET 运行时,而框架依赖型则生成跨平台的部署包。
- 将发布的文件拷贝到 Ubuntu 服务器上,你可以使用工具如 WinSCP 来进行文件传输。
-
安装 Supervisor 守护进程:
- 安装 Supervisor:
sudo apt-get install supervisor
- 为你的 .NET 项目创建一个 Supervisor 配置文件。进入
/etc/supervisor/conf.d
目录,新建一个配置文件,例如mydotnetapp.conf
,并添加以下内容:[program:mydotnetapp] command=dotnet /path/to/your/app.dll directory=/path/to/your/app environment=ASPNETCORE_ENVIRONMENT=Production user=www-data autostart=true autorestart=true startsecs=1 stderr_logfile=/var/log/mydotnetapp.err.log stdout_logfile=/var/log/mydotnetapp.out.log
- 安装 Supervisor:
-
配置 Nginx 作为反向代理:
- 安装 Nginx:
sudo apt-get install nginx
- 打开 Nginx 配置文件
/etc/nginx/sites-available/default
,添加以下内容:server { listen 80; server_name your-domain.com; # 替换为你的域名或 IP 地址 location / { proxy_pass http://localhost:5000; # 替换为你的应用监听的端口 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
- 重新加载 Nginx 配置:
sudo nginx -t sudo nginx -s reload
- 安装 Nginx:
-
启动你的 .NET Core 应用:
- 启动 Supervisor:
sudo service supervisor start
- 访问你的应用,例如:
http://your-domain.com
。
- 启动 Supervisor:
这样,你的 .NET Core 应用就成功部署到了 Ubuntu 服务器上!如果遇到问题,别灰心,持续尝试,曙光就在前方🚀