CentOS里配置.net core运行环境
说明:2带了4(vs2017仅支持2.1,命令中修改版本就好)
另外,2.1、3.1等版本可以共存,不影响使用
1
注册 Microsoft 密钥和源
安装 .NET 之前,需要:
注册 Microsoft 密钥。
注册产品存储库。
安装必需的依赖项。
每台计算机只需要执行一次此操作。
打开终端并运行以下命令。
bash
复制
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
-----------------------------------------------------------------------------------------------
2
安装 .NET Core SDK
更新可供安装的产品,然后安装 .NET Core SDK。 在终端中,运行以下命令。
bash
复制
sudo yum install dotnet-sdk-3.1
-----------------------------控制台程序到此即可,mvc也能用------------------------------------------------------------------
3
安装 ASP.NET Core 运行时
更新可供安装的产品,然后安装 ASP.NET 运行时。 在终端中,运行以下命令。
bash
复制
sudo yum install aspnetcore-runtime-3.1
-----------------------------------------------------------------------------------------------
4
安装 .NET Core 运行时
更新可供安装的产品,然后安装 .NET Core 运行时。 在终端中,运行以下命令。
bash
复制
sudo yum install dotnet-runtime-3.1
上传:
vs中生成以后,对于简单的控制台程序,bin对应文件夹里上传两个文件,类似于:
运行:
注意:dll文件区分大小写!
相对复杂的程序,需要发布后上传。见发布"dotNet core"到CentOS8
后台运行程序(mvc未验证,应当也可行):
1、命令后加“(空格)&”。这种方式可以立即取得控制台权限。但退出ssh终端后程序也会退出。适合调试。
[root@ClassAboutNet test]# dotnet test1.dll &
[1] 10586
[root@ClassAboutNet test]#
2、在1的基础上,前面加nohup,关闭终端后仍然可以运行。适合发布。
[root@ClassAboutNet test]# nohup dotnet test1.dll &
[1] 10693
[root@ClassAboutNet test]# nohup: ignoring input and appending output to 'nohup.out'
[root@ClassAboutNet test]#
所有输出发布到本文件夹下的“nohup.out”文件
控制台退出后,程序可以正常工作。
3、关闭后台程序
跟普通关闭后台方法相同。查找:ps -aux | grep dotnet ;关闭:kill -9 <pid>
附:ssh长连接修改
/etc/ssh/sshd_config
ClientAliveInterval 120
ClientAliveCountMax 720
第一行,表示每隔120秒向客户端发送一个“空包”,以保持于客户端的连接。
第二行,表示总共发送720次“空包”,之后断开它们之间的连接,也就是:120秒 × 720 = 86400 秒 = 24小时
后。
然后重启ssh服务:
systemctl restart sshd.service
再打开新终端连接就可以了。