Centos7安装net Core

官方文档:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install

ubuntu ,generic内核,安装失败解决方案:

https://my.oschina.net/u/938455/blog/2980679

如果提示:

-bash: donet: command not found

则执行命令试试:

ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet

我这里是物理机,不是虚拟机

Centos7安装net Core

第一步: sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

不知道这个密钥ID重要不,先打个万恶的马赛克

Centos7安装net Core

第二步: sudo yum update

昨天安装docker的是已经update一次了,所以这次提示没有需要update的

Centos7安装net Core

第三步: sudo yum install dotnet-sdk-2.2

Centos7安装net Core

输入y同意下载,d代表后台下载,N代表取消下载,可已看到安装的sdk包含了runtime,其实如果仅仅运行而不开发,只要单独安装runtime即可

下载完成后又会询问是否安装,输入y即可,这里就不截图了,安装完成后

输入:dotnet --info

Centos7安装net Core

既然环境都准备好了。肯定要实现net core项目是否可以在centos上跑起来

创建一个net core 的demo ,通过dotnet publish -o f:/xx 发布

Centos7安装net Core

发布成功后

Centos7安装net Core

用Xftp6连接centos

Centos7安装net Core

可以新建一个文件夹,专门存放website,我这里就创建一个CoreDemo的文件夹

左边切换到publis的文件目录,全选拖拽到右边即可完成上传操作

Centos7安装net Core

然后切换到centos的CoreDemo文件夹运行website

Centos7安装net Core

我在物理机是可以访问的,就不截图了

但在另外一台电脑无法访问

Centos7安装net Core

是因为centos7防火墙没有关闭的原因,被防火墙拦截了

firewall-cmd --zone=public --add-port=/tcp --permanent #(开放80端口)
systemctl restart firewalld #(重启防火墙以使配置即时生效)

先停止之前的网站,输入命令:
Centos7安装net Core

然后在启动website,结果还不行,

因为物理机上面运行的是 http://localhost:5000,我输入localhost是本地的,如果输入ip:5000物理机也识别不了

所以只能修改源代码,指定运行的url,不指定端口,默认就是80

Centos7安装net Core

重新编译,并publish,再次启动,发现监听的url变了,这样可以通过

http://192.168.1.101/ 和http://localhost/ 都能访问

Centos7安装net Core

Centos7安装net Core

如果写成这样:,就只能通过http://localhost/ 访问

Centos7安装net Core

当然这仅仅是一个最简单的net core程序,这只是皮毛而已,算入门的一个开端

什么守护者进程等等继续学习,

还需要学习Jexus、IIS集成或者nginx反代向外提供服务等等

iis 不支持put 方法,web.config 修改:

 <?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="WebDAV" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT" type="System.Web.Handlers.TransferRequestHandler" resourceType="Unspecified" requireAccess="Script" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="" />
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers> </system.webServer>
</location>
</configuration>
<!--ProjectGuid: 4E4BA4B9-B20A-457B-8BE9-3127C90D8A7F-->
上一篇:windows中操作文件和目录的函数


下一篇:maven settings.xml配置优化