Asp.NetCore Linux上使用宝塔快速部署
Asp.NetCore Linux上使用宝塔快速
准备一台Linux服务器,我的服务器是:阿里云ECS CentOS 8.4 64位
1.远程连接到服务器并安装宝塔面板,安装命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh,官方安装文档
2.安装完毕后面板上会显示面板端口,默认是8888跟着一串符号,密码也一起展示了,建议修改默认端口。注意:云服务器需要开放8888端口限制,否则可能无法访问。各厂商修改地址可百度,大致都是在当前云服务器的安全组
3.数据库等软件自行选择安装,这里重点说下.NetCore环境搭建
a)打开【宝塔SSH终端】输入:sudo dnf install aspnetcore-runtime-5.0 安装运行时,这里安装了5.0的运行时,推荐安装asp.netcore的运行时,因为它同时包括 .NET 和 ASP.NET Core 运行时,官网教程
b)到应用商店安装【Supervisor管理器】,这个软件类似windows服务,可使我们的程序开机自启、异常重启等操作。更多详情可以百度看看。
c) 发布应用程序:
这是以前一个老项目,发布时目标框架选择你正在开发框架,部署模式独立,如果是框架依赖的话需要维护服务器上的版本,
然后将文件上传是服务器,我一般上传至:/www/wwwroot/项目文件夹
d) 点击宝塔面板-网站,添加站点
点击站点右侧的设置,选择配置文件,修改如下
listen 80;//监听端口 server_name 域名;//这里输入域名 index index.html baidu_verify_9TfbAT6wbE.html; root /www/wwwroot/dire;//这里是项目路径 location / { proxy_pass http://localhost:5001;//监听端口,默认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; }
注意:asp.netcore 默认启动端口是5000,如果多个项目可能会造成启动时报端口占用的错,可以:1.在【appsettings.json】中添加“urls”:"https://localhost:5001" 2.启动项目是添加 --urls https://localhost:5001 任选一种
e) 重点来了 打开前面安装好的【Supervisor管理器】,添加守护进程
如果这里启动失败了,请检查1.启动命令是否正确 dotnet 项目名.dll,2.前往启动目录日志查排查是否是程序自身的问题 ,比如数据库连接字符串不对啊什么的 3.在【Supervisor管理器】-【子配置文件】找到【stderr_logfile】的日志文件查看原因后排查
不出意外的话,应该是要出意外了,估计一把过不了,按照流程在走一遍看看哪个地方错了。瑞思拜!