VirtualBox虚拟机Centos系统部署.Net5.0网站
首先说下环境:
虚拟机:VirualBox6.1
操作系统:Centos7
开发工具:visual studio 2019
部署网站:.net5 mvc web
其他:Xshell5 负责传输文件到centos
第一步:准备网站发布文件
1.创建.Net5.0类型的mvc默认网站
2.发布网站,发布配置参考如下,主要是可移植性。
3.将发布完的文件压缩成zip包,例如:net5.zip
第二步:上传网站
1.打开VirtualBox,点击设置,网络,网卡1配置如下
2.然后点击端口转发按钮,添加规则。
client也就是虚拟机填写ssh默认的22,填写一个你想转发给主机的port号,比方1111。
NAT网络地址转换,client虚拟机的全部网络包都会由主机也就是你正在用的机器转发,所以这里设定port转发后,你连接本机的1111port就相当于连接客户机的22port。
3.打开Xshell,新建会话,端口就是刚才的1111
按照提示,输入用户名,密码(可以点击记住),就会出现如下提示,证明连接成功。
4.使用cd命令移动到想放文件的目录,然后直接拖拽文件到Xshell。或者点击新建文件传输按钮,借助Xftp软件进行传输。
第三步:在Centos上安装.Net环境
1.下载.Net5.0 最新sdk。网址:https://dotnet.microsoft.com/en-us/download/dotnet/5.0
2.点击椭圆红框链接可以查看包说明,点击长方形红框链接,可以下载适合自己Linux架构的包。
包说明页面有各类操作系统,安装SDK5.0的说明,可以选择自己对应的系统。我这里是Centos,本文以这个为操作说明。
3.点击CentOS,跳转到说明页面,仔细阅读官方的说明,能少入坑。这里我选择手动尝试安装SDK包。点击: ·手动安装 .NET
4.手动安装,我们当前的需求是部署网站,说不定以后也得开发,索性直接安装一个SDK得了:)。
椭圆红框链接,就是第三步,1节的页面,下载的包,即箭头所指文件。
按照上图所示,在centos终端里输入命令,将SDK5.0包制作镜像,并创建环境变量方便使用。
5.如此,我们的Centos具备了.Net运行环境,哇偶,是不是很激动呢 :),现在需要验证以下,怎么弄,,,你猜......
通过dotnet --info 命令,出现以上提示即证明SDK安装成功。
第四步:启动网站
1.还记得第一步网站发布后的压缩包吗? net5.zip,对,我们把它上传到了centos,找到它,解压。
2.先试试行不行,运行著名的命令dotnet
貌似行,试试
3.运行Centos自带的火狐浏览器,输入网址:http://localhost:5000
大功告成,喝杯茶压压惊。
完事儿了?上回说道。。。。。。
我们的最终目的是让用户访问,所以拿起茶壶,把茶满上
第五步:本地访问虚拟机网站
1.准备端口
Centos的防火墙默认是开启的,所以在防火墙里添加个例外端口
参数permanent表示永远存在的意思,要不重启就没了
重启防火墙,让设置生效。
2.准备外网访问
注意查看上步骤2节的提示信息:
Listening on: http://localhost:5000
ASP.NET Core 应用默认监听的端口是本地 5000,本地...
所以外网想要访问,需要在命令后面加上参数urls
3.本地宿主机测试
我们兴高采烈的打开浏览器,使用虚拟机IFconfig,有好几个地址,但是用哪个也ping不通,
找哪儿说理去,:(
4.解决PING不通
参考CSDN,码农观的文章如下图示:
我选择了NAT网络+Host-Only的组合。
NAT网络,负责上外网通信;Host-Only网络,负责主机和虚机通信。
5.启用Centos的网卡3
在关闭虚拟机的状态下,找Virsualbox的网络设置,点击网卡3,勾选启用网络连接
如图示,选择Host-Only,混杂模式选择全部允许。确定后,再次打开虚拟机,可查看网卡连接状态
可以看到图标和提示都显示网卡连接正常,然后在终端输入ifconfig查看ip
可以看到,多了一个IP,好了要的就是这个。
ping下试试,有惊喜哦。
6.本地打开网站
IP有了,端口有了,开始
7.为什么不用网卡2呢,连不通啊,上哪儿说理去 * ^ ◎ ^ *
再喝杯茶,:)