一、前言

  当 asp.net core 发布以后,实现了跨平台。基于好奇,我就测试了一下 core 项目部署到 linux 服务器。感觉一路还是有所收获,接下来记录一下操作流程。

  工具:window 10、vs2017、centos 7、core 2.1.3

  参考博客:Rabbit_Yi  、进击的辣条 、shuaiflying  感谢三位大佬的博客,收益匪浅。

二、安装 .net core

  我这个人喜欢使用最新的版本,所以就按照最新的版本给大家介绍。

  下载:https://www.microsoft.com/net/download/linux-package-manager/centos/sdk-current

  

  运行代码:

sudo yum update
sudo yum install dotnet-sdk-2.1
dotnet -version

因为我已经安装了,所以出现:Nothing to do !你们就按照我的步骤来:不要慌

查看按照环境是否完成:

dotnet -version

我安装的版本是 2.1.40 的版本,最新的。如果您想看你安装该环境的位置,您可以使用该命令查看。

查看安装位置的命令:

whereis dotnet

我们启动的时候,执行的是 /usr/local/bin/dotnet 这个。您可以参考我开篇所参考的三位大佬的。

三、创建 .net core 项目

  在根目录下按照我的命令执行。

mkdir -p codespace
cd codespace
dotnet new mvc --auth None --framework netcoreapp2.1

  命令解释:

    1、创建一个路径

    2、进入路径

    3、创建一个mvc项目,使用2.1的版本。我们的环境就是2.1.4的。

  将项目运行起来:

ls
dotnet restore
dotnet run

  命令解释

    1、ls 查看当前文件夹下面的文件,同时也可以使用 ls -li

    2、还原依赖库

    3、让项目跑起来

  当看见如下所示,表示项目跑起来了。

  但是现在是看不了,有两种因素:

    1、5000端口没有开。

      解决方案:关闭防火墙,配置5000端口,使其开放。我按装的是宝塔,直接配置就好。

    2、项目是跑在本地的,外面是访问不了的。

      不用担心,我们还是继续往下演示。

四、安装 Nginx

  关于 Nginx 的介绍,我就不多说,您们自己查一下,了解就好 !

  下载 Nginx 命令:

mkdir software
cd software
wget http://nginx.org/download/nginx-1.15.3.tar.gz

  命令解释:

    1、创建 software 文件夹

    2、进入文件夹

    3、使用 wget 下载 Nginx包

  解压文件:

tar zxf  nginx-1.13.8.tar.gz

  命令解释:

     1、解压文件 tar zxf是参数。

  运行如下命令:

cd nginx-1.15.3
./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --http-scgi-temp-path=/var/temp/nginx/scgi

  关于这点命令具体的解释,您们还是去shuaifiying的博客 看吧,非常详细!

然后在该路径下,运行如下命令:

make
make install

  我们移步到/usr 路径下启动 Nginx,具体如下:

cd /usr/local/nginx
cd sbin
./nginx

  解释第三条命令:

    3、启动 Nginx 代理

  当你看到如上图所示,说明端口冲突了。那么有两种解决方案。

    1、将占用的端口关闭。

      具体步骤:

          netstat -ntpl
          kill 端口号

    2、修改Nginx 的代理端口。

      请看清楚我路径,不要搞错了哈。

  没有报错了,嘻嘻。然后就可以使用浏览器看了。

五、使用 nginx 映射我们自己的网站

  同时开两个 ssh 窗口,一个发布网站。一个控制 Nginx。如下图:

 location / {
proxy_pass http://localhost:5000;
}

然后重启 ./nginx ,在启动前先使用命令把端口杀掉,在重启。

然后重新查看浏览器即可。但去看的时候,你会把一个问题,就是如下

然后立刻变成

这是因为我们在新建项目时,默认创建了https的项目。但我们访问 http 会默认条到 https.

解决方案:

然后就可以去浏览器种查看了。

就是这样的,到此结束,还有一些关于其他的您们自己去研究!我就不一 一结束了。坑有点多,慢慢来。附件几条命令

删除文件夹:rm -rf +文件夹名

  如:rm -rf workspace

卸载软件:yum -y remove +软件名

  如:yum -y remove dotnet-runtime-deps-2.1.x86_64

我在做的时候,服务器都玩蹦了一下,尴尬。一直坚持到最后花了3小时。有些地方没有理清楚。望大佬写看我文章时,连我参考的文章一起看。他们的比我讲得清楚。

  

ASP.NET Core 部署到Cont OS 服务器的更多相关文章

  1. Asp.Net Core部署到Linux服务器

    从2016年7月, .NET Core1.0 正式发布开始,由于时间问题,我没怎么关注过.NET Core,最近刚抽出点时间研究了下,先讲下如何把ASP.NET Core部署到Linux上吧.这里我用 ...

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

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

  3. 你真的了解ASP.NET Core 部署模型吗?

    ----------------------------   以下内容针对 ASP.NET Core2.1,2.2出现IIS进程内寄宿 暂不展开讨论-------------------------- ...

  4. ASP.NET Boilerplate 学习 AspNet Core2 浏览器缓存使用 c#基础,单线程,跨线程访问和线程带参数 wpf 禁用启用webbroswer右键菜单 EF Core 2.0使用MsSql/MySql实现DB First和Code First ASP.NET Core部署到Windows IIS QRCode.js:使用 JavaScript 生成

    ASP.NET Boilerplate 学习   1.在http://www.aspnetboilerplate.com/Templates 网站下载ABP模版 2.解压后打开解决方案,解决方案目录: ...

  5. ASP.NET CORE部署到Linux

    ASP.NET CORE部署到CentOS中 在Linux上安装.NET Core 参考:https://www.microsoft.com/net/core#linuxcentos 配置Nginx ...

  6. ASP.net Core部署说明(Ubuntu) [转]

    最近在学习asp.net core,当然学习的目的是想了解一下,Asp.net core是否真的能够是先跨平台部署. 根据目前官网资料说明,asp.net core只有在Redhat 企业版上,才能够 ...

  7. 从零开始,将ASP.NET Core部署到Linux生产环境

    研究.NET Core已经一段时间了,一直都是在Windows上开发,这2天尝试着将公司一个很简单的内部Web项目改造成了ASP.NET Core,并且部署到Linux上.生产环境如下: Linux ...

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

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

  9. ASP.NET Core部署到Windows IIS

    网上已经有许多ASP.NET Core关于Widows IIS部署的文章,在部署到服务器时遇到了一些问题,在这里我就不再对原理进行阐释(复制)了,只写下一些关键环节,想看原理的同学请参考官网,此文章作 ...

随机推荐

  1. php 服务器的安全笔记

    php 服务器的安全笔记 操作系统安全 默认端口修改 MySQL 端口禁止外网访问 用户权限 父进程 子进程 目录权限 TODO Web Server 版本信息 服务器版本信息 PHP 版本 open ...

  2. BZOJ2724:[Violet 6]蒲公英

    浅谈分块:https://www.cnblogs.com/AKMer/p/10369816.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?i ...

  3. Azure上Linux VM误配防火墙的恢复方法

    在实际运维中,防火墙把自己挡在机器外面的情况会时有发生.如何快速的恢复对运维人员是很重要的. 本文将介绍如何用Azure Extension实现不通过ssh对VM进行操作的方法. 之前写过一遍Blog ...

  4. nginx错误

    在开发的时候遇到nginx错误 网上找了半天也没有找到解决方案: 先查看了一下nginx错误日志 cat /usr/local/nginx/logs/error.log 然后发现看不太懂 那么只能重启 ...

  5. 关于jsp和html页面中的三种弹出框

    代码: <!-- 引入jquery 由于在下面使用jquery选择器,与弹出框无关 --> <script type="text/javascript" src= ...

  6. Swing编程练习。可能这篇会有错误哦

    总结:21岁的思思是华为的初级女java工程师,我等女流怎么办呢? Swing.图形用户界面的编程,panel起了很大作用 package com.da; import java.awt.Color; ...

  7. java代码swing编程 制作一个单选按钮的Frame

    不善于思考,结果费了时间,也没有效果 下面的框框可以做出来. package com.kk; import javax.swing.JFrame; import javax.swing.JLabel; ...

  8. UE4流关卡

    转自:http://blog.ch-wind.com/ue4-level-streaming/ 流关卡可以使得关卡内容只在玩家“需要”的时候才加载,在很多游戏中都有使用这个技术. 当前UE4版本4.1 ...

  9. BA 新web化 问题汇总

    1. 3D堆栈图在winform端无法显示,但在web端可以正常显示,说明与浏览器版本有关,在 IE 中设置文档模式为 IE8 即报错,IE9 却正常显示,可在 <head>节点下添加如下 ...

  10. linux命令-du查看占用磁盘空间大小

    格式 df -h 查看磁盘分区情况 du /etc 目录文件大小都列出来 单位是k最后一行是总和 du -m 单位是m 小于1m写成1m du -h 单位人性化显示k/m du -sh /etc 查看 ...