ASP.NET Core 程序发布到Linux(Centos7)爬坑实战
前言
前阶段弄了个Linux系统想倒腾倒腾.NET Core,结果看了下网上的资料,大部分都是过期的,走了不少弯路,不过还好,今下午总算捣鼓出来了。Linux命令太多了,唉。血的教训:安装一定要看官网的流程。
开始
首先,我们找到官网教程,安装.NET Core 环境。地址:https://www.microsoft.com/net/core#linuxcentos
正如教程中所说,安装之前先删除以前的版本。我的删除方法就是手动删相应的文件夹。然后按照教程一步一步来就OK了。当然不排除你在实战过程中会遇到各种各样的麻烦,多搜,网上还是有方案的。
sudo yum install libunwind libicu
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843449
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet
sudo 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不熟悉啊。不过成果出来,还是很高兴的。下班喽~~
ASP.NET Core 程序发布到Linux(Centos7)爬坑实战的更多相关文章
- ASP.NET Core教程:ASP.NET Core程序部署到Linux
一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署
运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...
- Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...
- ASP.NET Core 网站发布到Linux服务器
长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...
- Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中
参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...
- 把Asp.net Core程序代码部署到Ubuntu(不含数据库)
今天记录一下第一次把.net core 程序发布到linux系统.linux用的是ubuntu Server 18.04版本.运行的IDE是vs 2019,发布出来是.net core 2.2版本. ...
- Asp.net Core 打包发布 (Linux+Nginx)
如果你觉得如下这些文章对你有帮助,请点击链接支持作者原创 http://www.cnblogs.com/savorboard/ .Net Core SDK 命令介绍 前言 本篇主要介绍 asp.n ...
- [争什么! 掺在一起做撒尿牛丸啊! 笨蛋]ASP.NET Core 2.0 + EF6 + Linux +MySql混搭
好消息!特好消息!同时使用ASP.NET Core 2.0和.NET Framework类库还能运行在linux上的方法来啦! 是的,你没有看错!ASP.NET Core 2.0,.NET Frame ...
随机推荐
- 使用 Python 管理 Azure:基础配置
Azure 提供了丰富的 Python SDK 来对 Azure 进行开发管理,包括使用 Azure 的开源框架在 Azure 上创建 web 应用程序,对 Azure 的虚拟机,存储等进行管理,本系 ...
- MyBatis入门篇
一.什么是MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改 ...
- 简述Spring及配置
简述Spring及配置 Spring最主要的思想就是IoC(Inversionof Control,控制反转),或者成为DI(Dependency Injection,依赖注入) 一.springMV ...
- Spring_Spring的特点
一.非侵入式编程 Spring框架的API不会再业务逻辑上出现,即业务逻辑是POJO(Plain Ordinary Java Object).由于业务逻辑中没有Spring的API,所以业务逻辑可以从 ...
- Ant design 项目打包后报错:"Menu(or Flex) is not defined"
我的项目使用了ant-design 和 ant-design-mobile,在测试环境上没问题,但是打包发布之后控制台报错 Menu is not defined Flex is not define ...
- es6的一些基本语法
首先说一下什么是es6: ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准; let 和 const 命令 let的基本用法: 上面代码在代码块之中,分别用l ...
- freebsd默认不是gcc构建
xunsearch在freebsd上死活装不上,用gcc编译通过. freebsd默认不是gcc编译工程,所以下个gcc ./configure CC=gcc48 编译. 觉得clang编译器不可能有 ...
- Open images from USB camera on linux using V4L2 with OpenCV
I have always been using OpenCV's VideoCapture API to capture images from webcam or USB cameras. Ope ...
- Linux符设备驱动编程
加入内核源码树外 ① 建立两个文件scull.c,scull.h,以及Makefile文件 Makefile文件 ② 用make进行编译,生成scull.ko驱动程序模块 ③ 把scull.ko模块加 ...
- 孙鑫VC++视频教程(1-20课全)
孙鑫VC++视频教程(1-20课全)PPT讲义和源代码 http://down.51cto.com/data/467760 孙鑫VC++从入门到精通开发详解视频教程[20讲] http://down. ...