Asp.NetCoreLinux上使用宝塔快速部署

准备一台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,官方安装文档 :https://www.bt.cn/bbs/thread-19376-1-1.html

2.安装完毕后面板上会显示面板端口,默认是8888跟着一串符号,密码也一起展示了,建议修改默认端口。注意:云服务器需要开放8888端口限制,否则可能无法访问。各厂商修改地址可百度,大致都是在当前云服务器的安全组

3.数据库等软件自行选择安装,这里重点说下.NetCore环境搭建

a)【非必要,部署时可以选择独立部署】打开【宝塔SSH终端】输入:sudo dnf install aspnetcore-runtime-5.0  安装运行时,这里安装了5.0的运行时,推荐安装asp.netcore的运行时,因为它同时包括 .NET 和 ASP.NET Core 运行时,官网教程:https://docs.microsoft.com/zh-cn/dotnet/core/install/linux-centos

b)到应用商店安装【Supervisor管理器】,这个软件类似windows服务,可使我们的程序开机自启、异常重启等操作,后续会用这个软件给我们的程序添加守护进程。更多详情可以百度看看。

c)  发布应用程序:

Asp.NetCoreLinux上使用宝塔快速部署插图 这是以前一个老项目,发布时目标框架选择你正在开发框架,部署模式独立,如果是框架依赖的话需要维护服务器上的版本,

然后将文件上传是服务器,我一般上传至:/www/wwwroot/项目文件夹

d) 点击宝塔面板-网站,添加站点

Asp.NetCoreLinux上使用宝塔快速部署插图1

点击站点右侧的设置,选择配置文件,修改如下

 
server { listen 80;//监听端口 server_name <域名>;//注意域名 index index.html baidu_verify_9TfbAT6wbE.html; root /www/wwwroot/<dire>;//路径 location / { proxy_pass http://localhost:5002;//注意端口 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; } #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-00.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/<dire>.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log off; access_log /dev/null; proxy_pass http://localhost:5002;//注意端口 } location ~ .*\.(js|css)?$ { expires 12h; error_log off; access_log /dev/null; proxy_pass http://localhost:5002;//注意端口 } access_log /dev/null; error_log /www/wwwlogs/<dire>

 

 

 

 注意:asp.netcore 默认启动端口是5000,如果多个项目可能会造成启动时报端口占用的错,可以:

        1.在【appsettings.json】中添加“urls”:”https://localhost:5002″

        2.启动项目是添加 –urls https://localhost:5002

 任选一种方式

e) 重点来了       打开前面安装好的【Supervisor管理器】,添加守护进程

      Asp.NetCoreLinux上使用宝塔快速部署插图2

 

 

 如果这里启动失败了,请检查以下地方:

       1.启动命令是否正确 dotnet 项目名.dll

       2.前往启动目录日志查排查是否是程序自身的问题 ,比如数据库连接字符串不对啊什么的

       3.在【Supervisor管理器】-【子配置文件】找到【stderr_logfile】的日志文件查看原因后排查

 

不出意外的话,应该是要出意外了,估计一把过不了,按照流程在走一遍看看哪个地方错了。瑞思拜!

 

Asp.NetCoreLinux上使用宝塔快速部署插图3

原文链接:https://www.cnblogs.com/blogcx/p/15089000.html

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享