测试机器:阿里云云主机1核2g

安装环境:centos-7

服务器:Nginx 1.17.1 测试默认已启动

已安装配置:.Net Core 3.1 测试默认安装

连接配置:x-ftp,x-shell

在配置好.net Core环境后,将本地的项目以文件形式发布后上传至Linux,然后cd至上传的文件目录

1、检查云服务器.net core的版本情况

dotnet --version

2、确保防火墙关闭和配置端口开放

这样网上的教程很多,在此不过多描述!大家自己去百度即可。

3、检查Nginx的配置文件

nginx -t

为什么需要首先检查nginx的配置文件,因为这样你才能确定你的配置文件是在哪里,而不是你自定义安装的目录,当然默认是/usr/local/nginx

4、启动.Net Core WebApi服务

nohup dotnet SingleBlog.Web.dll > /dev/null >& &

为什么需要这样写!因为这样你关闭连接后就不会关闭正在运行的程序了,否则会关闭。

回车运行后会出现一个端口,不是.net core的调试环境!!记住这个端口!

5、修改Nginx配置文件并配置域名

通过x-ftp进入到/usr/local/nginx目录找到conf然后用记事本编辑nginx.conf

  server {
listen 80;
server_name www.zswblog.xyz;#此处填写你自己的域名
rewrite ^(.*) https://$server_name$request_uri permanent; #配置ssl后期再说,可以不填
index index.html; #指定替换的页面
root /root/SingleBlog/wwwroot; #你的配置目录用于修改替换nginx的index页面
location / {
proxy_pass http://localhost:8004;#dotnet运行一般是占用8004端口,所以需要反向代理到域名
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;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

将此段代码替换成nginx.conf中http配置下的sever!

保存后退出!

6、重启nginx服务

第一步-检查配置文件是否有错误:nginx -t
第二部-重启nginx服务:nginx -s reload

7、在外部浏览器打开你的域名,此时应该指向你的dotnet运行的端口的网页了,当然webapi没有任何网页加载,他需要前端来进行请求数据

8、关闭运行

关闭运行的.net Core服务需要通过kill进程来操作

第一步-查询所有运行的服务:ps -A
第二步-找到dotnet的运行端口
比如我的dotnet运行端口是28644
kill 28644
回车运行后即可关闭服务

这个时候nginx检测不到你的8004端口所以这时候你访问的应该是nginx的错误页面

这就是.net Core在nginx的启动配置和关闭的最简单的方式!

如果有补充的,欢迎在下方评论!

.Net Core WebApi在Linux上启动和关闭的更多相关文章

  1. [Mongo]Linux上启动与关闭MongoDB

    文档地址:https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-amazon/ 默认配置下,Mongo实例会将其数据文件存放在/var/l ...

  2. ASP.NET Core MVC 在linux上的创建及发布

    前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们搭建的Asp.net core项目之后,自己也是跃跃欲 ...

  3. NET Core MVC 在linux上的创建及发布

    NET Core MVC 在linux上的创建及发布 前言 ASP.NET core转眼都发布半月多了,社区最近也是非常活跃,虽然最近从事python工作,但也一直对.NET念念不忘,看过了园区大神们 ...

  4. springboot学习笔记:12.解决springboot打成可执行jar在linux上启动慢的问题

    有时候,当你把你的springboot项目打成可执行的jar,放在linux上启动时,发现启动超级慢: 这往往是因为springboot内置tomcat启动时实例化SecureRandom对象随机数策 ...

  5. linux svn启动和关闭

    linux svn启动和关闭 博客分类: linux系统 svnlinux  1,启动SVN sudo svnserve -d -r /home/data/svn/ 其中 -d 表示守护进程, -r ...

  6. Linux+.Net Core+Nginx(在Linux上使用Nginx反向代理.Net Core 项目)

    Linux+.Net Core+Nginx 之前的文章中有提到关于使用Nginx在linux来实现反向代理,今天我们继续加点料.在Centos7中部署.NetCore,然后使用Nginx进行反向代理! ...

  7. Linux上启动Cron任务

    cron是一个Linux下的定时执行工具,无需人工干预,与quartz上的cron表达式稍有不同.由于cron是Linux上的内置基础服务,并不是所有服务器都是默认启动该服务的,如果没有启动可以使用下 ...

  8. .net core webapi 在原有基础上修改。

    using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Lin ...

  9. net core WebApi——文件分片上传与跨域请求处理

    目录 前言 开始 测试 跨域 小结 @ 前言 在之前整理完一套简单的后台基础工程后,因为业务需要鼓捣了文件上传跟下载,整理完后就迫不及待的想分享出来,希望有用到文件相关操作的朋友可以得到些帮助. 开始 ...

随机推荐

  1. VBA自动点击IE的浏览按钮、自动选择路径、自动关闭打开文件对话框

    VBA调用InternetExplorer操作IE浏览器,自动弹出文件选择对话框时,VBA会处于阻塞状态,你必须手工关闭文件选择对话框,VBA才能继续向后运行. 例如下面网址,就有一个文件浏览按钮: ...

  2. Vue创建项目及基本语法 一

    目录 目录: 一.创建Vue项目 0.使用环境要求及说明 1.使用命令创建项目 2.启动项目 二.简单指令 1.变量: 2.动态绑定变量值 3.v-once指令 4.v-html解析html 5.v- ...

  3. spring-mvc基于xml的配置

    配置web.xml <!--配置spring-MVC拦截--> <servlet> <servlet-name>DispatcherServlet</serv ...

  4. django-crontab使用

    用 django-crontab 为 Django 添加定时任务 需求 做后台开发的时候,有时候会遇到这样的需求,在某个固定时间或者一定时间间隔自动触发某一事件.比如说我有一个需求要求是,周一到周五早 ...

  5. 清除无用工具栏:CommandbarCleaner下载

    下面演示的工具,适用于Office任一版本. 使用本工具之前,预先打开相应的Office软件. 下载: CommandbarCleaner.rar

  6. HttpClient学习笔记

    HttpClient相关的实体类官方文档地址:http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/ 使用HttpClien ...

  7. iOS UITableView Tips(2)

    #TableView Tips(2) (本来想一章就结束TableView Tips,但是发现自己还是太天真了~too young,too simple) ##架构上的优化 在Tips(1)中指出了一 ...

  8. nodejs 客户端证书设置。

    最近的系统要求较高的安全等级 https+usbkey证书 https的操作很简单 openssl 生成ca 和证书,配置启动即可 生成成功后,类似这样. 类似这样 var options = { k ...

  9. ArrayList查找和添加元素问题

    问题描述: 如上图所示,如果依靠迭代器在List中查找元素并添加元素,会报错:java.util.ConcurrentModificationException原因是在添加元素后,List本身发生了变 ...

  10. python Django请求生命周期

    首先我们知道HTTP请求及服务端响应中传输的所有数据都是字符串. 在Django中,当我们访问一个的url时,会通过路由匹配进入相应的html网页中. Django的请求生命周期是指当用户在浏览器上输 ...