官方文档: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
我这里是物理机,不是虚拟机
第一步: sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
不知道这个密钥ID重要不,先打个万恶的马赛克
第二步: sudo yum update
昨天安装docker的是已经update一次了,所以这次提示没有需要update的
第三步: sudo yum install dotnet-sdk-2.2
输入y同意下载,d代表后台下载,N代表取消下载,可已看到安装的sdk包含了runtime,其实如果仅仅运行而不开发,只要单独安装runtime即可
下载完成后又会询问是否安装,输入y即可,这里就不截图了,安装完成后
输入:dotnet --info
既然环境都准备好了。肯定要实现net core项目是否可以在centos上跑起来
创建一个net core 的demo ,通过dotnet publish -o f:/xx 发布
发布成功后
用Xftp6连接centos
可以新建一个文件夹,专门存放website,我这里就创建一个CoreDemo的文件夹
左边切换到publis的文件目录,全选拖拽到右边即可完成上传操作
然后切换到centos的CoreDemo文件夹运行website
我在物理机是可以访问的,就不截图了
但在另外一台电脑无法访问
是因为centos7防火墙没有关闭的原因,被防火墙拦截了
firewall-cmd --zone=public --add-port=/tcp --permanent #(开放80端口)
systemctl restart firewalld #(重启防火墙以使配置即时生效)
先停止之前的网站,输入命令:
然后在启动website,结果还不行,
因为物理机上面运行的是 http://localhost:5000,我输入localhost是本地的,如果输入ip:5000物理机也识别不了
所以只能修改源代码,指定运行的url,不指定端口,默认就是80
重新编译,并publish,再次启动,发现监听的url变了,这样可以通过
http://192.168.1.101/ 和http://localhost/ 都能访问
如果写成这样:,就只能通过http://localhost/ 访问
当然这仅仅是一个最简单的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-->