开发环境介绍
1.操作系统:Windows Server 2008 R2 Enterprise
2.IDE:VisualStudio2017
3..Net Core 2.0 SDK
本文假设你已经满足上述条件。且会自行创建.net core2.0项目并发布成功。
下载.Net Core 2.0 SDK
1.准备一台装了centos7的机器,IP设置为:192.168.1.10
2.下载适合centos7的.Net Core 2.0 SDK
下载地址:https://www.microsoft.com/net/download/linux
3.拷贝到centos7
进入centos7,创建/soft目录:
[root@localhost soft]# mkdir /soft
通过WinSCP工具将下载下来的dotnet-sdk-2.0.0-linux-x64.tar.gz拷贝到/soft目录
安装.Net Core 2.0 SDK
1.解压:
[root@localhost ~]# cd /soft
[root@localhost soft]# mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.0.0-linux-x64.tar.gz -C $HOME/dotnet
这条命令是微软官方提供的,解压到:/root/dotnet下。
2.编辑profile文件:
[root@localhost soft]# vi /etc/profile
拷贝“export PATH=$PATH:$HOME/dotnet”到文件底部,保存并退出。
刷新profile
[root@localhost soft]# source /etc/profile
3.查看dotnet版本:
[root@localhost soft]# dotnet –version
4.完蛋玩意,报异常了:
Failed to load , error: libunwind.so.8: cannot open shared object file: No such file or directory
Failed to bind to CoreCLR at '/root/dotnet/shared/Microsoft.NETCore.App/2.0.0/libcoreclr.so'
不怕,因为我们没有安装libunwind,只要安装下即可,执行以下命令:
[root@localhost soft]# yum install libunwind
5.再次执行上述命令:
[root@localhost soft]# dotnet –version
6.操,还报异常:
FailFast: Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
还能不能好好的玩耍了?这个提示告诉我们没有安装ICU,执行以下命令:
[root@localhost soft]# yum install icu
7.再次执行上述命令:
[root@localhost soft]# dotnet --version
这就说明安装成功。
运行asp.net core程序
1.修改Program.cs的BuildWebHost方法
很明显,加了这行代码,我们不仅能用80端口访问,5000端口也可以。
2.开启端口
要想外部机器也能访问,还需要开启80端口和5000端口
[root@localhost coredemo]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost coredemo]# firewall-cmd --zone=public --add-port=5000/tcp --permanent
重启防火墙
[root@localhost coredemo]# firewall-cmd –reload
3.发布asp.net core程序,并用WinSCP工具拷贝到centos7的/soft目录
我建立的项目名称叫做:coredemo,所以大家在这里看到的就是:coredemo。
[root@localhost soft]# cd /soft/coredemo/
[root@localhost coredemo]# dotnet coredemo.dll(自己项目的项目名称)
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {6dfc9509-6201-47f6-a534-f5069ad5615f} may be persisted to storage in unencrypted form. Hosting environment: Production Content root path: /soft/coredemo Now listening on: http://192.168.1.10:5000 Now listening on: http://192.168.1.10:80 Application started. Press Ctrl+C to shut down.
出现这个提示就表示我们的asp.net core程序可以正常运行了。
4.访问
在另外一台机器的浏览器上输入地址:http://192.168.1.10和http://192.168.1.10:5000/都可以访问
好,大功告成。