ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
来源:互联网 发布:windows官网无法下载 编辑:程序博客网 时间:2024/06/07 17:38
前言
前阶段弄了个Linux系统想倒腾倒腾.NET Core,结果看了下网上的资料,大部分都是过期的,走了不少弯路,不过还好,今下午总算捣鼓出来了。Linux命令太多了,唉。血的教训:安装一定要看官网的流程。
开始
首先,我们找到官网教程,安装.NET Core 环境。地址:https://www.microsoft.com/net/core#linuxcentos
正如教程中所说,安装之前先删除以前的版本。我的删除方法就是手动删相应的文件夹。然后按照教程一步一步来就OK了。当然不排除你在实战过程中会遇到各种各样的麻烦,多搜,网上还是有方案的。
sudo yum install libunwind libicucurl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnetsudo ln -s /opt/dotnet/dotnet /usr/local/bin
上述过程如果顺利走完的话,就是没啥问题了,环境就可以了。现在我们随便新建一个ASP.NET Core程序。也不用编写代码,打开相应的程序目录,我的如下:
这里呢,虽然发布方法是一样的,但是我用的是git将代码克隆到服务器,然后进行发布的。
首先,定位到相应目录:
cd /root/project/LayIM.NETCoreClient/LayIM.NETCoreClient ---定位到web项目下
然后restore
dotnet restore
然后publish
dotnet publish
发布成功之后,会生成bin/Debug/netcoreapp1.0/publish 文件夹,然后定位到该文件夹,执行:
dotnet LayIM.NETCoreClient.dll --改成你的web项目dll
执行完成之后如下:
虽然,localhost可以访问了,但是在外网访问还是不可以的,我这里的原因是80,5000端口没有开放。开放即可。centos7中开放端口方式如下:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=5000/tcp --permanent
然后重启firewall
最后,发现还是不能访问。(我也不知道为啥),所以我也没思考直接安装了ngnix。
sudo yum install nginx
sudo service nginx start
改一下配置文件,etc/nginx/nginx.conf
server { listen 80; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; }}
然后重启
nginx -s reload
见证奇迹的时候到啦。
总结
成功是成功了,不过还是手动发布的。下一步打算看看jenkins,利用它配合github完成自动更新,打包发布的功能。就到这里吧。虽然写的不多,但是动手的过程中,真真是碰到了各种奇葩问题,还是自己对Linux不熟悉啊。不过成果出来,还是很高兴的。下班喽~~
.Net Core 落地实践 开源项目(DotNetLive)团队招募啦,Git地址:https://github.com/dotnetlive
原文地址:http://www.cnblogs.com/panzi/p/6527085.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
- ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
- ASP.NET Core 网站发布到Linux服务器
- ASP.NET Core 发布到 MAC(macOS系统)实践
- Asp.Net Core 发布到IIS
- .NET Core项目部署到linux(Centos7)
- .NET Core程序发布到Ubuntu系统
- ASP.NET Core 发布 centos7 配置守护进程
- Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- Asp.Net Core 发布和部署(Linux + Jexus )
- Asp.Net Core 发布和部署( MacOS + Linux + Nginx )
- Asp.net Core 打包发布 (Linux+Nginx)
- 测试 asp.net core 发布
- 发布 ASP.NET Core 应用
- 在Centos7下发布.NET CORE项目
- ASP.NET Core 发布至Linux生产环境 Ubuntu 系统
- ASP.NET Core 快速入门(实战篇)
- ASP.NET Core 指定环境发布(hosting environment)
- Asp.net mvc4 发布你的程序到IIS7.0
- 关于Dapper.NET的相关论述
- ASP.NET Core 优雅的在开发环境保存机密(User Secrets)
- .NET Core项目部署到linux(Centos7)
- 分布式一致性算法:Raft 算法
- Visual Studio 2017 ASP.NET Core开发
- ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
- 微软的.NET Core开始支持Raspberry Pi 3
- 分布式系列文章——Paxos算法原理与推导
- 基于tiny4412的Linux内核移植 -- PWM子系统学习
- Asp.Net Core Authentication Middleware And Generate Token
- 后端架构高可用可伸缩讲解之高可用
- [干货来袭]C#7.0新特性(VS2017可用)
- C#7.0之ref locals and returns (局部变量和引用返回)
- Visual Studio 2017 已知问题 Q&A