系统:centos 7.1 Net Core 版本:2.1 (3.x同理)
1.注册产品存储库并安装所需的依赖关系
在安装.NET之前,需要注册产品存储库并安装所需的依赖关系。运行一次就行。
打开ssh终端 运行以下命令:
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
2.更新可用于安装的产品
更新可用于安装的产品,然后安装.NET SDK。这样做的好处就是可以保证你的各个组件都是最新的版本,对新手来说可以解决很多不必要的麻烦。
sudo yum update
3.安装.NET SDK
运行以下命令:
sudo yum install dotnet-sdk-2.1
4.ssh进入刚刚的路径
上传你的net core 运行文件到服务器:如web项目发布至自定义目录下:/www/wwwroot/web/
cd /www/wwwroot/web/ #路径记得自己改
5.运行你的项目
很简单这样就跑起来了,如果你的程序没有写错的话。建议第一次部署体验直接用vs 生成的默认项目。
dotnet web.dll
当你觉得到此为止的时候,剧情总会出现反转。
以上的操作都是正确的。
但是你的项目只在你的ssh终端没有被关闭的情况下
或者说当前dotnet 进程没有结束的情况下会保持运行状态。
简单的说就是,你的ssh终端一旦关闭。你的web 也就随之关闭了。
因此你需要第六步来保证你的web一直运行。
6.1 持续运行:
这个时候你就需要一个持续运行的方法 :nohup 该命令的详细介绍:https://www.cnblogs.com/apexchu/p/4193611.html
1 nohup dotnet web.dll &
6.2 进程守护:
第二个就是采用三方工具进行进程守护的方式(个人觉得这个东西用起来还是有点麻烦,没有nohup便捷)
就不介绍了直接让前辈来吧:https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html
7.域名访问的问题
dotnet 似乎没有为我们提供域名绑定的工艺。因此要用反向代理来绑定域名
Nginx 似乎成为了首选。简单轻便。这里也直接贴上前辈的介绍好了:https://cloud.tencent.com/developer/article/1503591
还有一个办法是直接安装宝塔面板,用宝塔面板来配置 (毕竟有GUI 对用户的友好程度++)宝塔官方介绍:https://www.bt.cn/bbs/forum.php?mod=viewthread&tid=18019&highlight=nginx
8.最后
最后如果你按照以上步骤操作了一遍发现没用,那可能是哪个步骤出现了错误。这个时候可以考虑使用卸载的办法,对sdk重新进行安装。
对,就是回到最初的起点,再来一次。
如果你觉得对你有帮助的话,不妨点个【推荐】。
sudo yum remove dotnet-sdk-2.1
sudo yum remove libunwind libicu
sudo yum remove /etc/yum.repos.d/dotnetdev.repo
第二个就是采用三方工具进行进程守护的方式(个人觉得这个东西用起来还是有点麻烦,没有nohup便捷)