.Net Core WebApi在Linux上启动和关闭

测试机器:阿里云云主机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 2>&1 &

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

回车运行后会出现一个端口,不是.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的启动配置和关闭的最简单的方式!

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

原文地址:https://www.cnblogs.com/sandaman2019/p/12454943.html