鸽了好久,终于有个时间继续写了,继上一篇之后,又写(水)了一篇,有什么不足之处请大家指出,多谢各位了。

  下面有两个需要用到的软件,putty和pscp,我已经上传到博客园了,下载请点击这里

一、准备服务器

  首先和之前一样,先去腾讯云整了个云服务器,选择CentOS的镜像。

  然后跟之前一样完成购买,得到公网的IP地址。

  接着我们复制下来公网的IP地址,我这里使用了putty进行远程登录。

  输入root用户名和你之前设置的密码进行登录。

  然后,我们就可以安装.Net Core的运行环境了。

二、安装.Net Core环境

  首先去.Net微软官网找到对应的版本。

  https://dotnet.microsoft.com/download

  选择Linux,这里是3.0的版本,因为我之前用的是2.2的版本,所以选择最后一个去找到我对应的版本,如果是3.0的版本直接点第二个就行了。

  找到对应的版本。

  选择CentOS 7 - x64,然后出现两个终端命令。第一行命令是添加包源,第二行命令是安装.Net Core版本的包。 

  我们先复制第一行命令,执行很快就完成了。

  然后我们执行第二行命令,这个下载的比较慢,耐心等待就行了,中间有提示的话,输入y确认就行了。

  安装完成之后,输入dotnet --info来验证是否安装成功。

三、上传启动项目

  环境安装完成之后,我们要把之前已经发过的项目文件拷到服务器上,我这里使用了pscp的软件进行了文件上传。

  如果有对操作命令不熟悉的小伙伴,可以搭建宝塔面板操作,图形化的比较方便,在我之前的服务器购买+初步搭建里第三部分有,这里就不再赘述了。  ̄ω ̄=

  找到上传的项目文件,图省事,我直接放在root根目录下了,大家不要学我。( ̄. ̄)

  然后进入项目目录,查看里面的文件,记住不要漏了之前xml文件。

  然后执行dotnet FirstApi.dll命令,可以发现已经成功启动了,是不是和上一篇的第一种方式一样。

  不过这还是只能在服务器本地访问,而且服务器上也看不到效果,我们先Ctrl+C结束掉。

  然后我们输入下面的命令,让其在5555这个端口上启动。

  dotnet FirstApi.dll --server.urls "http://*:5555"

  接着我们用本地的浏览器访问ip端口,成功。( ̄︶ ̄)↗

  到这里就结束了是不是有点短了( ̄ェ ̄;),那就顺便用一下Nginx吧。

四、Nginx安装

  Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器  ——来自百度百科

  首先呢,我们先到Nginx网站看看最新版的是多少。

  http://nginx.org/en/download.html

  然后,执行下面的命令将其下载下来。

  wget http://nginx.org/download/nginx-1.17.5.tar.gz

  解压它。

  tar -xvf nginx-1.17.5.tar.gz

  接着进入解压的目录。依次执行

  ./configure

  make

  make install

  进行安装。

  安装完成之后,我们进入/usr/local目录,能找到已安装的nginx目录。(之前的安装包可以删了)

  然后我们执行下面的命令,启动nginx。

  /usr/local/nginx/sbin/nginx

  在本地直接访问ip,就能够出现Welcome to nginx页面。

五、配置Nginx

  接着我们进行nginx配置目录。

  cd /usr/local/nginx/conf

  创建一个vhost文件夹。(文件夹名字可以随意,其实路径也可以随意)

  mkdir vhost

  进入该文件夹内。

  cd vhost

  创建一个conf文件。

  vi firstapi.conf

  文件内容如下。(因为dotnet的http默认启动端口是5000,我就用5000了)

server {
listen ;
server_name localhost;
root /root/FirstApi/;
index index.html index.htm; location / {
proxy_pass http://localhost:5000;
}
}

  ESC+:wq保存退出后,进入上级目录。

  编辑nginx.conf配置文件。

  vi nginx.conf

  在http{}里最后一行加上刚才创建的目录地址。(注意是在http{}里)

  include /usr/local/nginx/conf/vhost/*.conf;

  然后保存退出。

  执行下面两句重启Nginx。

  /usr/local/nginx/sbin/nginx -t

  /usr/local/nginx/sbin/nginx -s reload

  然后本地浏览器访问配置的888端口,502错误!!!∑(゚Д゚ノ)ノ,忘了启动项目了。。。

  进入项目目录。

  cd /root/FirstApi

  直接启动。

  dotnet FirstApi.dll

  然后再次访问,OK搞定。

  嗯,暂时先到这里吧。按计划是一个月至少一篇随笔的(因为我比较懒),上月有点事断了╮(╯﹏╰)╭,而且我还要继续找工作QAQ,所以下一篇要。。嗯,看情况吧ヽ(ー_ー)ノ

.Net Core WebApi(三)在Linux服务器上部署的更多相关文章

  1. 如何在Linux服务器上部署禅道

    最近换了新的项目团队,由于新团队比较年轻化,没有实行正规的项目管理,于是我自告奋勇要为团队管理出一份力,帮助团队建立敏捷化的项目管理,经过多方考究和对比后,选择了目前较受欢迎的开源项目管理软件:禅道. ...

  2. linux服务器上部署项目,同时运行两个或多个tomcat

    在阿里云服务器上部署项目的时候,想使用阿里云提供的负载均衡服务并创建两个监听(如图), 但需要一台服务器提供两个端口,于是就请教前辈并查询资料,得知: 一台服务器提供两个端口,有两种方式: 1.一个t ...

  3. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  4. 如何在Linux服务器上部署Mysql

    一.安装mysql 1.通过文件上传工具,将mysql安装包上传到linux服务器上 2.卸载mariadb包,由于系统中存在mariadb包会导致mysql安装时报错mariadb-libs被mys ...

  5. So Easy - 在Linux服务器上部署 .NET Core App

    .NET Core 是微软提供的免费.跨平台和开源的开发框架,可以构建桌面应用程序.移动端应用程序.网络应用程序.物联网应用程序和游戏应用程序等.如果你是 Windows 平台下的 dotnet 开发 ...

  6. 零基础在Linux服务器上部署javaweb项目

    本教程使用的工具下载链接:http://pan.baidu.com/s/1sl1qz2P 密码:43pj 一.安装JDK 1.首先要查看服务器的系统版本,是32位还是64位 #getconf LONG ...

  7. linux服务器上部署jdk+tomcat+rocketmq+redis-cluster

    通常我们拿到一组干净的linux服务器,需要初始化安装一些基础软件,这里一站式介绍部署jdk+tomcat+rocketmq+redis-cluster 前言:如果要在多台服务器上安装,在一台服务器上 ...

  8. 在 Linux 服务器上部署 nginx 之后不能访问

    原文地址:https://blog.csdn.net/lipeigang1109/article/details/73295373 解决办法:https://jingyan.baidu.com/art ...

  9. linux服务器上部署springboot项目,并让他持续运行到后台

    我们知道在运行springboot 项目只需要java -jar + 项目的war包(jar包)名. 但是只要终端已停止那么服务就会被关闭,也就无法访问到我们的项目了.所以我们可以使用守护进程的方式来 ...

随机推荐

  1. ES 32 - Elasticsearch 数据建模的探索与实践

    目录 1 什么是数据建模? 2 如何对 ES 中的数据进行建模 2.1 字段类型的建模方案 2.2 检索.聚合及排序的建模方案 2.3 额外存储的建模方案 3 ES 数据建模实例演示 3.1 动态创建 ...

  2. 一文搞定 SonarQube 接入 C#(.NET) 代码质量分析

    1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQub ...

  3. Flume 学习笔记之 Flume NG概述及单节点安装

    Flume NG概述: Flume NG是一个分布式,高可用,可靠的系统,它能将不同的海量数据收集,移动并存储到一个数据存储系统中.轻量,配置简单,适用于各种日志收集,并支持 Failover和负载均 ...

  4. ECMAScript6 VS TypeScript

    如果你真正使用过Typescript你会发现他其实是javascript的超集, 这是一个非常简洁的描述 ,之所以称之为Typescript,正是Type一词的表述(强类型),可不仅仅是有一个Clas ...

  5. 【Java】Java 单文件下载及重命名

    代码(仅供参考): /* * 另存为 */ @RequestMapping("/saveAs.do") public @ResponseBody void saveAs(Strin ...

  6. Android中三种常用解析XML的方式(DOM、SAX、PULL)简介及区别

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解 ...

  7. Kubernetes之Flannel介绍

    Flannel是CoreOS团队针对Kubernetes设计的一个网络规划服务,简单来说,它的功能是让集群中的不同节点主机创建的Docker容器都具有全集群唯一的虚拟IP地址. 在Kubernetes ...

  8. 基于vue组件,发布npm包

    亲测好用,如出错,请留言 1.项目初始化 使用vue脚手架创建,但vuecli太重,我们使用简单的工程脚手架进行处理,输入命令 vue init webpack-simple my-project n ...

  9. 介绍ArcGIS中各种数据的打开方法——mxd(地图文档)

    1.加载地图文档 在ArcGIS中,以mxd作为扩展名的文件叫地图文档. 地图文档中只是包含图层的引用,即存储当前地图的图层路径.符号.状态.修饰等信息,并不存储真实的数据层. ArcGIS Map中 ...

  10. 毕业生想学习web前端,应该怎么学才能最快找到工作?

    首先无论你要学习任何技能,必须有一个清晰的版图,什么是清晰的版图呢?首先了解你学的技术将来要从事什么工作,这个工作的条件是哪些? 然后你要有一个非常清晰的学习大纲,切记学习任何东西都要系统,不可胡乱的 ...