阿里云轻量应用服务器利用宝塔面板部署.net 6(.net core)服务端程序图文步骤
前言
随着.net core 跨平台技术的兴起,微软.net拥抱云原生,支持跨平台,可以使基于.net core技术的服务端程序轻松移植到基于Linux的云服务器上,本文以图文的方式介绍如何利用阿里云轻量应用服务器安装宝塔面板部署基于.net6的后端服务器接口程序并正常运行。
步骤
1.准备一台阿里云轻量应用服务器
本人的测试服务器是去年阿里云搞活动期间以新人券方式购买的一台配置较低的轻量应用服务器,截止当前已经快要到期了,在到期之前做一个部署记录,购买步骤略;
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247967-143166470.png)
2.安装宝塔镜像
服务器购买时选择宝塔镜像安装服务器系统,服务器初始化完成后会自动安装好宝塔控制面板,本人的镜像信息是BT-Panel 6.9.8,详细步骤略,阿里云提供的服务器完全傻瓜操作,安装后便可看到相关信息
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247862-2145588263.png)
3.服务器环境准备
宝塔面板安装完成后,进入详情,选择应用管理-面板应用,进入面板应用详情界面,再此处我们可以看到启用宝塔面板的详细操作步骤,如下图:
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247961-1474785726.png)
按照以上步骤操作后,我们登录到宝塔面板首页,如下图
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104248101-61016766.png)
- 安装.net 6 运行环境,此处本人的操作系统位centos 7.6 ,安装的.net 6 sdk,具体版本操作步骤:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos
首先配置,包签名密钥:
安装sdk
sudo yum install dotnet-sdk-6.0
以上两项就够了
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247990-1631540874.png)
- 发布.net core程序,vs选择自己的项目发布到文件夹,将程序发布到文件夹里面
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247956-772055493.png)
- 利用宝塔面板创建.net 应用程序放置的站点,给自己的网站设置一个域名并解析到自己的服务器(可以使用IP),PHP选择纯静态,数据库根据实际情况创建,点击提交,创建完成后将上一步发不完的程序上传到此目录
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247995-855002671.png)
上传程序至此目录;
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104248094-1147534345.png)
- 在软件商店安装ngnix(略)并配置Nginx转发
上传完成后,修改配置文件,修改nginx配置监听api.xxxx.com:80端口的请求转发至本机.net程序运行的所在端口,此例设置.net 6程序的运行端口位5000,增加如下配置文件:
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247993-1988525844.png)
- 安装守护进程软件Supervisor管理器 ,在软件商店搜索Supervisor并创建守护进程
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247906-1370588069.png)
选择设置,添加守护进程:
运行目录,选择以上创建的.net网站根目录
启动命令为.net的运行启动命令,dotnet xxxx.dll(启动项所在项目程序集) --urls http://localhost:5000 指定本地运行端口 ,点击确定完成
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104248101-112051720.png)
- 守护进程启动api程序
创建完成守护进程后,启动守护进程会自动启动.net 应用程序
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247846-712292816.png)
我们也可以查看supervisor的子配置文件,此处跟用命令行手动配置是一样的
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247919-1291804696.png)
至此整个配置过程已经大功告成,我们可以通过浏览器访问一下.net api的swagger文档:https://api.xxxx.com/swagger/v1/swagger.json 已经可以访问了:
![0](https://img2022.cnblogs.com/blog/551516/202209/551516-20220909104247971-1344053281.png)
结语
.net跨平台,超高的性能,简易的部署方式给后端程序员又提供了一种新的选择,以上便是通过阿里云轻量应用服务器采用宝塔面板全界面操作的全过程,简单实用而且很方便!