Ubuntu 如何部署.net core web项目
时间: 2023-06-04 17:03:33 浏览: 507
可以通过以下步骤在 Ubuntu 上部署 .NET Core Web 项目:
1. 首先在 Ubuntu 上安装 .NET Core 运行时环境和 ASP.NET Core 运行时环境。
2. 然后使用 git 命令或其他方法将 Web 项目源代码下载到 Ubuntu。
3. 进入 Web 项目的根目录,使用 dotnet build 命令生成可执行文件。
4. 使用 dotnet run 命令启动 Web 项目。
5. 最后使用浏览器访问 Web 项目,确认是否成功部署。
相关问题
如何发布ASP.NET Core Web API服务器到工网
在发布ASP.NET Core Web API到公网之前,需要经过几个步骤:
1. **构建项目**:首先确保你的API已经完成开发并通过`dotnet build`命令成功构建。如果项目包含依赖项,可能还需要运行`dotnet restore`来恢复所有必要的库。
2. **配置部署设置**:创建一个新的发布目录(如`publish`),然后使用`dotnet publish`命令生成应用程序文件和依赖文件,这将创建一个自包含的发布包。
```sh
dotnet publish -c Release -r <your-runtime-target> -o publish
```
`<your-runtime-target>`可以是Windows、Linux或MacOS对应的运行时,比如`win-x64`或`ubuntu.18.04-x64`。
3. **设置IIS(Windows)**:
- 如果是在Windows上,你需要安装IIS(Internet Information Services),然后添加一个新的Web应用,并指向发布的目录。
- 配置应用程序池使用.NET Core支持,例如选择`.NET Framework 4.x`或`.NET Core`版本。
4. **设置Kestrel(自托管)**:
- 对于更轻量级的场景,你可以选择使用Kestrel自托管服务。在启动命令中指定发布的目录,如`dotnet run --urls http://+:5000`。
5. **SSL/TLS配置**:
- 公网访问通常需要HTTPS,为此你需要获取SSL证书。可以选择购买证书,也可以使用Let's Encrypt等免费工具自动申请。
- 将证书安装到IIS或自托管服务器上,如果是IIS,则需要配置网站的绑定为HTTPS。
6. **测试连接**:
使用浏览器或其他HTTP客户端(Postman、curl)测试API是否可用,并确认安全设置(如HTTPS)正常工作。
ubuntu .net
### 安装和配置 .NET on Ubuntu
为了在Ubuntu上安装和配置.NET,可以遵循官方Microsoft指南来获取最新版本和支持。通常情况下,在开始之前更新系统的包列表是一个好的实践[^2]。
```bash
sudo apt update
```
接着,添加微软的GPG密钥以及软件源到APT:
```bash
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
```
完成上述操作之后,可以通过APT命令来安装所需的.NET SDK或者运行时环境。对于想要开发应用程序的用户来说,建议安装SDK版本:
```bash
sudo apt install dotnet-sdk-7.0 -y
```
如果只需要部署已有的应用,则可以选择仅安装ASP.NET Core运行时或.NET运行时:
```bash
sudo apt install aspnetcore-runtime-7.0 -y
# 或者
sudo apt install dotnet-runtime-7.0 -y
```
验证安装成功与否可通过检查dotnet命令是否存在并显示其版本号来进行确认:
```bash
dotnet --version
```
以上过程可能需要管理员权限才能顺利完成,因此前面加上`sudo`以获得必要的授权[^4]。
#### 配置防火墙(可选)
如果有启用UFW防火墙服务的话,记得允许通过HTTP(S)端口以便能够访问基于Web的应用程序:
```bash
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
```
这一步骤不是必需的,除非计划托管网络服务。
阅读全文
相关推荐












