参考 https://blog.csdn.net/qq_30180559/article/details/79535596
阿里云镜像下载地址-Linux系统
要想启动虚拟机,需要在BIOS中开启 Intel Virtualization Technology
如果未在BIOS中开启CPU虚拟化技术,启动时会报错:
一、网络配置
[编辑]->虚拟网络编辑器
配置桥接模式
设置 CentOS 使用桥接模式上网,在桥接模式下 CentOS 与主机处在同一个局域网内,是一种平级关系。
使用 ip addr 查看路由器给 CentOS 分配的IP,如果未打印出正确的 IP,再使用 sudo dhclient -v ens33 命令手动触发DHCP请求。
# 先释放可能存在的旧租约 sudo dhclient -r # 然后为指定网卡请求新IP sudo dhclient -v ens33
编辑Linux中的网络配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
编辑完成后按ESC,再输入:wq,回车。确保文件保存成功。
上面的配置好后,在CentOS中重启网络服务
测试
二、发布.NetCore程序到CentOS中运行
1、通过Visual Studio发布.NetCore项目
2、通过Xshell工具将publish下面的文件上传到CentOS中,运行测试
通常上传到 /usr/local/bin/test下面
创建文件夹: mkdir -m 711 -p test
删除文件夹: rm -rf test
确保Xshell安装了上传文件工具
判断是否安装了上传文件工具:rpm -qa|grep lrzsz
安装上传文件工具:yum install lrzsz -y
上传文件命令:rz 或 rz -y 或 直接把文件拖到Xshell界面上
下载文件命令:sz {文件名}
Alt + P 打开属性框 可进行一些传输设置
确保安装了dotnet sdk

【官方文档】安装dotnet-sdk-3.1
【CSDN】安装dotnet-sdk-3.1
三、运行VMware报错
原因:启用了Hyper-V,VMware与Hyper-V不兼容。
解决方案:控制面板->程序->启用或关闭Windows功能-> 禁用 【Hyper-V】与【虚拟机平台】 ,重启电脑。
四、外网无法与应用建立TCP连接
原因:如果能ping通,但无法与指定端口建立连接,则需要关闭Linux的防火墙。
(1) 安装iptables
yum install iptables-services
(2) 启动iptables
systemctl enable iptables
systemctl start iptables
(3) 查看防火墙状态
service iptables status 或者 firewall-cmd --state
(4) 关闭防火墙
service iptables stop
(5) 打开防火墙
service iptables start
(6) 查看80端口有没开放
firewall-cmd --permanent --query-port=80/tcp
(7) 永久添加80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
(8) 修改了防火墙规则后需要重新载入配置
firewall-cmd --reload
五、.NET Core 3.1 安装 Newtonsoft.Json
在依赖项上点右键->管理NuGet程序包(N)...
五、让程序后台运行
让程序后台运行: nohup dotnet ServerNetCore.dll 1>log 2>error &
1>log 标准输出重定向到log文件
2>error 标准错误信息重定向到error文件
1>/dev/null 丢弃标准输出信息
2>/dev/null 丢弃标准错误输出信息
查看后台运行的程序: jobs
查看后台运行程序PID: jobs -l
将程序从后台切换到前台: fg &jobnumber
将一个在后台暂停的程序变成继续执行:bg &jobnumber
列出正在运行的进程: ps
杀死进程: kill pid
杀死进程: kill %jobnumber
六、用shell脚本运行程序
#! /bin/bash ## author: yl ## run game server nohup dotnet ServerNetCore.dll 1>log 2>error & #dotnet ServerNetCore.dll echo 'Server startup is complete!'
运行shell脚本,将脚本与程序放在同一目录下,cd到此目录,然后执行 ./server.sh
给shell脚本文件加执行权限: chmod +x server.sh
查看进程列表,只显示pid和cmd两列:ps -a -opid,cmd
在 Windows 下编辑的 shell 脚本,放到 Linux 中运行会报错:
/bin/bash^M: 坏的解释器: 没有那个文件或目录
这是因为:Windows中的换行是\r\n,Linux中的换行是\n造成的。
解决方法:在Linux中用vi打开文件执行以下两句命令:
:set ff=unix
:wq
其他