Centos7安装net Core
2019-02-14 22:57 糯米粥 阅读(4705) 评论(0) 编辑 收藏 举报官方文档: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=80/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 修改:

1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <location path="." inheritInChildApplications="false"> 4 <system.webServer> 5 <modules runAllManagedModulesForAllRequests="true"> 6 <remove name="WebDAVModule" /> 7 </modules> 8 <handlers> 9 <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> 10 <remove name="WebDAV" /> 11 <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="0" /> 12 <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> 13 </handlers> 14 15 </system.webServer> 16 </location> 17 </configuration> 18 <!--ProjectGuid: 4E4BA4B9-B20A-457B-8BE9-3127C90D8A7F-->
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?