快速浏览:
.Net Core 概述
.net 自问世以来就成为了java的对手,虽然潜力无限,语法和IDE等方面都超过了java,但由于在跨平台和开源方面处于弱势,一直不被人待见。而如今微软推出了.net core,实在是一个很给力的进步。
.NET Core 是.NET Framework的新一代版本,是微软开发的第一个官方版本,具有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始就开源的软件平台。
.net core的官方网站是https://dotnet.github.io/,由微软和github共同维护,github是全球最大的开源托管平台,后来被微软收购,.net core部署到github也是很有深意的。
启用虚拟机Hyper-v
打算在虚拟机上安装linux体验一把。虚拟机选择win10自带的Hyper-v,虚拟机有很多种,比如经典的vmware,还有Oracle virtualbox,用起来都差不多。
从“设置->应用->程序和功能”或者从控制面板直接进入“程序和功能”,点击“启用或关闭Windows功能”,选中Hyper-V安装。
创建虚拟机
1) 下载ubuntu16.4
在官网下载Ubuntu 16.04.5 Server (64-bit) ,官网地址:https://www.ubuntu.com/download。
2) 创建虚拟交换机
创建一个网络适配器备用
在Hyper-V右铡点击“虚拟交换机管理器”->“新建虚拟网络交换机”
类型选择外部
外部网络选择系统的网卡适配器。
3) 新建虚拟机
在Hyper-V右侧点击“新建”-> “虚拟机”。
名称随便填写,存储位置所在硬盘要有足够的空间。
虚拟机代数这里选择“第一代”。经测试第二代挺麻烦的。
继续下一步
选择之前我们配置的虚拟交换机“ubuntu16虚拟交换机”。
虚拟硬盘不要太小,否则很多东西装不上。
映像文件选择之前我们下载的ubuntu16.04镜像文件。
点击完成,创建虚拟机成功。
安装Ubuntu 16.04
右键虚拟机启动并连接。首先要选择语言,本人亲测在安装时选择中文有乱码和安装报错的BUG,所以这里选择英文。
配置键盘选择“NO”
然后就是自动加载组件了和自动配置网络了(我们之前有指定使用了虚拟交换机)。接下来是设置主机名称。
填写主机名称:singoo
填写新用户名称:jsonlee
填写密码
确认密码
加密home目录,这里选择“NO”,接下来是自动设置系统时钟。
我这里被定位到亚洲的重庆,其实我是深圳,不管这么多,点击“Yes”。
分区选择“use entire disk and set up LVM”。
是否写入磁盘和配置LVM。这里选择“Yes”。
直接“continue”下一步
保存修改到磁盘,接下来就是安装系统。
配置HTTP代理,不管他,直接“Continue”下一步。
这里问怎么管理升级,我选择不自动升级:“No automatic updates”。
可选软件安装,选择“standard system utilties”。
选择“Yes”继续下一步。
安装完成了,重启!
安装图形界面
登录进入系统后,在命令行输出以下代码:
sudo apt-get update
更新包
sudo apt-get install xubuntu-desktop
安装图形界面,安装的时候要确认一次,输出“Y”回车直到安装完成并重启。
重新进入系统后就有了图形界面了!
安装FTP
右键点击桌面,选择“Open Terminal Here”打开命令行。
键入“vsftpd --version”查看是否安装了FTP。
显示没有安装,输出以下命令安装vsftpd
sudo apt-get install vsftpd
安装完成后,打开配置文件 /etc/vsftpd.conf ,配置以下参数并保存
anonymous_enable=NO #禁止匿名访问
local_enable=YES
write_enable =YES #启动才能上传和删除文件
allow_writeable_chroot=YES
如果保存文件时提示没有权限
我们需要文件设置可写
sudo chmod 777 /etc/vsftpd.conf
创建一个目录用于上传网站文件
sudo mkdir /home/wwwroot
设置wwwroot 为可读写
sudo chmod 777 /home/wwwroot
创建FTP用户:myftp
sudo useradd –d /home/wwwroot –s /bin/bash myftp
创建FTP密码,这里需要输出两次密码。
sudo passwd myftp
防火墙打开21端口(测试的话也可以关闭防火墙:ufw disable)
sudo ufw allow 21
查看21端口是否在监听
netstat –an | grep 21
查看服务器的IP,可以看到是192.168.1.125
ifconfig
以上配置完成后,我们就可以用FTP客户端连接vsftp了,打开FlashFXP连接。
这样就可以上传我们的网站文件了。
安装.net core 运行环境
1) 微软官方文档
按照微软的文档来安装环境,注意选择安装的ubuntu 版本。
https://dotnet.microsoft.com/download/linux-package-manager/ubuntu16-04/runtime-current
2) 安装SDK和runtime
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get install apt-transport-https
sudo apt-get update
安装SDK
sudo apt-get install dotnet-sdk-2.1.200
安装runtime
sudo apt-get install aspnetcore-runtime-2.2
安装完成后运行 dotnet –version会提示net core版本信息
到此,linux上就安装好了.net core环境了。下面我们就上传一个测试网站。
测试运行
1).net core mvc
打开VS2017创建.net core 项目
项目模板,选择“Web应用程序(模型视图控制器),就是.net core mvc。
创建完成后,运行一下,发现没有问题,发布项目
点击配置,发布方法选择“文件系统”,目标位置默认是定位到项目的/bin/Dbug目录下。
其它的默认,然后点击发布。可以看到 /bin/Debug目录下已经有发布的文件了。
2) 上传并运行
把上面的文件打包成publish.rar,上传到linux服务器。
先要安装 urar 。
sudo apt-get install unrar
然后解压文件publish.rar到目录“/home/wwwroot/web”。
unrar x /home/wwwroot/publish.rar /home/wwwroot/web
执行 dotnet 项目名称.dll,我的项目命名是TestCore。运行成功会告诉访问的网址是 http://localhost:5000。
重新打开一个命令窗口,输出 firefox 打开火狐浏览器,并键入 http://localhost:5000,可以看到效果。
到这里就完成了net core在linux服务器上的配置。