Windows 7 X64+VMware+ubuntu-18.04.3+Visual Studio 2017部署.Net Core 2.2过程详细图解
https://blog.csdn.net/xjzdr/article/details/103494284
一、ubuntu-18.04.3的下载与安装
1、VMware下载与安装
(略)
2、ubuntu-18.04.3下载地址:
http://mirrors.aliyun.com/ubuntu-releases/18.04/ubuntu-18.04.3-desktop-amd64.iso
下载后的文件为:ubuntu-18.04.3-desktop-amd64.iso
VMware创建虚拟机,并安装ubuntu-18.04.3的过程不多说,主要截图如下:
其它的配置均采用默认配置。
安装ubuntu-18.04.3时,创建了一个用户zdr 。
(注意:并没有启用root用户,所以安装完毕后,用root用户是不能登录的。下面的操作均为安装完ubuntu-18.04.3后,没有进行其它的任务操作的情况下的过程。)
下面的操作均为zdr用户登录ubuntu系统的操作。
二、用Visual Studio 2017创建.Net Core 2.2项目并发布项目。
创建.Net Core 2.2的项目DotNetCoreDemo1,过程比较简单,直接上图:
创建以后不做任何修改,直接运行,效果如下:
说明:此时,选择的是在IIS环境下ymya。如果要选择Docker环境,则本机不能安装Docker,否则会冲突。因为Visual Studio运行Docker调试时,会下载一个简易的Docker,会与原来安装的Docker冲突。
发布项目(全部采用默认的选择):
发布成功:
发布完成后的文件夹如下:
Web 应用已成功发布 E:/MyProgram/NetCore/DotNetCoreDemo1/DotNetCoreDemo1/bin/Release/netcoreapp2.2/publish/
至此 ,VMware、ubuntu已经安装完成,要部署的.Net Core 2.2项目也发布成功了,下面开始在ubuntu上部署刚才发布的项目。
三、在ubuntu-18.04.3上部署.Net Core 2.2运行环境
1、下载.Net Core 2.2 SDK Linux 安装包
以zdr用户(此时root用户还没有启动,不能用root用户登录呢。)登录刚安装好的ubuntu系统, 查看计算机的CPU类型和ubuntu的版本。
在ubuntu的控制台下查看Ubunutu的版本:
cat /etc/lsb-release
查看是x86_64的CPU还是Arm的CPU:
Arch
运行结果如下 :
下载地址:
https://dotnet.microsoft.com/download/dotnet-core/2.2
可以Windows7系统下下载,也可以直接在刚安装好的ubuntu-18.04.3系统下下载。
ubuntu-18.04.3系统下载命令为:
下载后的文件名为:
dotnet-sdk-2.2.207-linux-x64.tar.gz
如下为在宿主Windows7下载的,下载完成后,将文件Copy到ubuntu系统/home/zdr/softbak目录下。如下图:
其中:
ls:列出目录下的文件
pwd:显示当前目录路径
dotnet-sdk-2.2.207-linux-x64.tar.gz所在的路径为:/home/zdr/softbak
2、创建 目录/usr/share/下dotnet以保存解压后的文件:
发现zdr用户没有权限,下面的操作先把share文件夹的操作权限给zdr用户。然后再创建share文件夹。
sudo chmod 777 /usr/
mkdir dotnet
3、更新可提供安装的产品,然后安装.NET SDK
(1)更新系统
sudo apt-get install apt-transport-https
sudo apt-get update
(2)注册微软签名密钥和添加微软相关的支持。这个操作每台机器只能做一次。
wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
安装http支持:
sudo apt-get install apt-transport-https
sudo apt-get update
(3)解压dotnet-sdk-2.2.207-linux-x64.tar.gz文件
将/home/zdr/softbak/dotnet-sdk-2.2.207-linux-x64.tar.gz解压到/usr/share/dotnet/文件夹下。
在控制台下,进入dotnet-sdk-2.2.207-linux-x64.tar.gz所在的目录/home/zdr/softbak,执行解压命令,将文件解压到:/home/zdr/dotnet/目录下。
tar -zxvf dotnet-sdk-2.2.108-linux-x64.tar.gz -C /usr/share/dotnet(如果进入到softbak目录,则dotnet-sdk-2.2.207-linux-x64.tar.gz前可以不带完整的目录。)
tar zxf /home/zdr/softbak/dotnet-sdk-2.2.207-linux-x64.tar.gz -C /usr/share/dotnet(没有进入softbak目录时,dotnet-sdk-2.2.207-linux-x64.tar.gz前必须带目录)
解压后的文件夹/usr/share/dotnet/如下:
(4)、安装dotnet
安装的过程在buntu中其实就是建立一个软链接就可以了。
ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
说明:
源:/usr/share/dotnet/dotnet 表示/usr/share/dotnet/目录下的dotnet文件,后面不能带/
目标:/usr/bin/dotnet表示/usr/bin/文件夹下面的dotnet文件。,后面不能带/
说明:由于我在/home/zdr/softbak/目录下放了2个.net Core的SDK,解压时,执行的是将2.2.108的版本解压了,所以此处显示的.net core版本是2.2.108
最后的dotnet --version用于验证.Net Core是否安装成功。
说明:网上说的这种方式设置的临时的,当你关闭terminal的时候就没有了。但我测试了一下,我并没有加到环境变量中,重启ubuntu后,执行dotnet --version仍是成功的。
四、部署刚才创建的.net 网站
1、 创建文件夹dotnetcoredemo1
在/home/zdr目录下,创建dotnetcoredemo1文件夹,
并将发布后的bin\Release\netcoreapp2.2\publish文件夹下的文件和目录全部Copy到dotnetcoredemo1文件夹下。COPY完成后的文件夹结构如下:
2、启动网站
dotnet DotNetCoreDemo1.dll
如果控制台的当前目录不是在DotNetCoreDemo1.dll所在的目录,可以执行带路径的启动命令:
dotnet /home/zdr/dotnetcoredemo1/DotNetCoreDemo1.dll
至此,在ubuntu 18.04下部署netcoreapp2.2网站成功。
目前部署的网站可以运行,但在关闭控制台后,刷新浏览器时,网站就不能打开了。这是因为启动网站的命令dotnet DotNetCoreDemo1.dll在关闭控制台后即失效 。
下面一篇Blog学习学习下配置supervisor守护网站以及Ngix的部署。