前言

  前阶段弄了个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)爬坑实战的更多相关文章

  1. ASP.NET Core教程:ASP.NET Core程序部署到Linux

    一.前言 这篇文章我们将讲解如何将ASP.NET Core 程序部署到Linux.这里我们使用的是虚拟机里面安装的Centos7.这里的ASP.NET Core程序,以上篇文章中发布的框架依赖文件为例 ...

  2. ASP.NET Core 网站发布到Linux服务器(转)

    出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...

  3. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  4. Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署

    运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...

  5. ASP.NET Core 网站发布到Linux服务器

    长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台,这就使得.NET空有一身绝技但无法得到广大的施展空间,.N ...

  6. Windows下docker的安装,将ASP.NET Core程序部署在Linux和Docker中

    参考文章: https://www.cnblogs.com/jRoger/p/aspnet-core-deploy-to-docker.html docker for windows下载连接: htt ...

  7. 把Asp.net Core程序代码部署到Ubuntu(不含数据库)

    今天记录一下第一次把.net core 程序发布到linux系统.linux用的是ubuntu Server 18.04版本.运行的IDE是vs 2019,发布出来是.net core 2.2版本. ...

  8. Asp.net Core 打包发布 (Linux+Nginx)

    如果你觉得如下这些文章对你有帮助,请点击链接支持作者原创 http://www.cnblogs.com/savorboard/ .Net Core SDK 命令介绍   前言 本篇主要介绍 asp.n ...

  9. [争什么! 掺在一起做撒尿牛丸啊! 笨蛋]ASP.NET Core 2.0 + EF6 + Linux +MySql混搭

    好消息!特好消息!同时使用ASP.NET Core 2.0和.NET Framework类库还能运行在linux上的方法来啦! 是的,你没有看错!ASP.NET Core 2.0,.NET Frame ...

随机推荐

  1. [错误记录_C] 还未给指针变量正确赋值的情况下,就使用它的值

    错误的代码: 错误的结果:  错误原因分析: 在使用(1) 将pB,pC的值赋给pA的lchild和rchild时: 还未给指针变量pB和pC赋值,现在pB和pC中存的是个垃圾值 Note: (2)- ...

  2. C10K问题摘要

    本文的内容是下面几篇文章阅读后的内容摘要: http://www.kegel.com/c10k.html (英文版) http://www.oschina.net/translate/c10k (中文 ...

  3. 小任务之使用SVG画柱状图~

    function drawBar(data) { var barGraph = document.querySelector("#bar-graph"); var graphWid ...

  4. javascript 文字大小自动适应文本框 (文字大小自动调整)

    javascript 文字大小自动适应文本框 (文字大小自动调整) TOC 思考 思考一:面积法 思考二:微调法 代码 在进行类似微博墙之类的展示页面中,经常会遇到这样的需求:在固定大小的区域放入字数 ...

  5. for 循环的时候 append() 是移动不是复制

    使用for 的时候,append() 不是复制,而是移动,只有最后一个元素才真正的append() 到了 解决办法: 1. 使用字符串: 2.使用clone();

  6. sqoop简单介绍

    一简介 Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS ...

  7. Linux下OCI环境配置

    ORACLE调用接口(Oracle Call Interface简称OCI)提供了一组可对ORACLE数据库进行存取的接口子例程(函数),通过在第三代程序设计语言(如C语言)中进行调用可达到存取ORA ...

  8. python 进程池的使用

    进程同步 进程的数据是独立存在的,进程也能加锁. from multiprocessing import Process, Lock def f(l,i): l.acquire() print('he ...

  9. myeclipse 下载 checkstyle 引入后不显示问题

    参照这篇博客,http://blog.csdn.net/zzq900503/article/details/42003499 下载最新的checkstyle版本后,在本地导入后一直不显示,步骤什么的也 ...

  10. MSSQL 备份与恢复

    建立维护计划,需启用<SQL Server 代理>服务 建立三个子作业: 1. 按周进行的全备份,每周日零点执行 2. 按天进行的差异备份,每天中午12点执行 3. 按小时执行的事务日志备 ...