Linux上部署net6应用

Linux上部署net6应用Python 微信订餐小程序课程视频 https edu csdn net course detail 36074Python 实战量化交易理财系统 https edu csdn net course detail 35475 前言 net6 都出来了 作为一名 net 搬砖工却一直都在 windows 下部署应用 还未尝试过 linux 环境下部署应用 参考福禄网络研发团队的相关博客 学习一下如何将应用部署到 linux 系统 NET5 都来了 你还不知道怎么部署到 linux 最全部署方案 总有一款适合你

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

前言

​ .net6都出来了,作为一名.net搬砖工却一直都在windows下部署应用,还未尝试过linux环境下部署应用。参考福禄网络研发团队的相关博客,学习一下如何将应用部署到linux系统。

.NET5都来了,你还不知道怎么部署到linux?最全部署方案,总有一款适合你 – 福禄网络研发团队 – 博客园 (cnblogs.com)

一、准备

云服务器:腾讯云(便宜)

操作系统:CentOS 8.2

SSH 客户端:PuTTY (免费且开源)

SFTP工具:WinSCP(免费且开源)

二、安装Sdk

打开PuTTy,登录云服务器,输入账户密码

Linux上部署net6应用

在linux上先安装sdk

参考 在 CentOS 上安装 .NET – .NET | Microsoft Docs

指令:

sudo yum install -y dotnet-sdk-6.0 

安装成功后,查看是否安装成功

dotnet --version 

Linux上部署net6应用

三、创建和发布Web应用

创建web应用:

dotnet new webapp -o test 

输入cd test,进入应用目录,输入运行命令:dotnet run

Linux上部署net6应用

运行成功,这个时候我们用外网ip访问时无法访问的

用WinScp打开目录/root/test/Properties,编辑launchSettings.json,将applicationUrl的localhost改为*

Linux上部署net6应用

修改好后我们再用dotnet run 运行一次,用外网ip访问正常

Linux上部署net6应用

web程序没问题后,我们用命令发布

dotnet publish 

四、安装和配置Supervisor

外网访问无问题以后,安装Supervisor。Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

安装Supervisor:

yum install -y supervisor 

安装成功后,分别执行以下命令

systemctl enable supervisord 
systemctl start supervisord 

查看状态

systemctl status supervisord 

Linux上部署net6应用

使用vi编辑/etc/conf.d,结果如下图(一定要一样

Linux上部署net6应用

重新加载配置文件:

supervisorctl reload 

打开IP:9001,输入用户密码:user/123

Linux上部署net6应用

supervisor安装配置完成后,开始配置一个ini文件:

[program:test] ;表示程序名称,用于在supervisor中显示,无特殊意义。 command=/bin/bash -c "dotnet test.dll --urls http://*:5001" ; 输入执行命令,这里表示执行的是dotnet test.dll directory=/root/test/bin/Debug/net6.0/publish/ ; 应用程序根目录 autostart=true ; 是否自动启动,当 supervisor 加载该配置文件的时候立即启动它 autorestart=true ; 是否自动重启, 程序异常退出后自动重启 logfile_maxbytes=50MB ; 该配置文件输出单个日志文件的大小,默认50M logfile_backups=10 ; 日志备份个数 loglevel=info ; 记录日志级别 stdout_logfile=/root/data/logs/test/test.out.log ; 指定标准输出日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ;环境变量。 user=root ;启动服务的用户 redirect_stderr=true ;把 stderr 重定向到 stdout,默认 false 

主要配置

command: 执行命令

directory:应用程序所在目录

stdout_logfile:日志文件所在路径,非常注意:请一定先要创建好路径,可用命令

mkdir -p /root/data/logs/test 

上列ini可直接复制使用,但须注意:‘;’前一定一定要有个空格,否则会报错。(踩坑)

在本地配置好这个文件后,将其放到/etc/supervisord.d这个目录下

Linux上部署net6应用

重新加载:

supervisorctl reload 

Linux上部署net6应用

这时可以看到配置的应用已经运行起来了

五、Nginx

安装Nginx

 yum install -y nginx 

依次执行以下命令:

systemctl enable nginx 
systemctl start nginx 

浏览器访问ip:

Linux上部署net6应用

配置文件位置:/etc/nginx/nginx.conf,找到location节点,输入proxy_pass http://0.0.0.0:5001;

Linux上部署net6应用

重新加载配置:

nginx -s reload 

直接用ip访问成功,如果有绑定域名,也可直接用域名访问

至此,所有配置就都完成啦~~

  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【[推荐](javascript:void(0)?】一下。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231395.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在java中jar与war和pom的区别

    在java中jar与war和pom的区别

    2021年7月20日
    65
  • RUST开服教程、常用指令及心得[通俗易懂]

    RUST开服教程、常用指令及心得[通俗易懂]【前言】【开始前你需要了解的事情】①常用网址②更新与删档日期③目前国服环境【服务器硬件的选择】【标准服务器】①下载和更新服务器②制作服务器的启动脚本③选择你的服务器地图④运行服务器【模组服务器】①完成标准服务器的下载和设置②安装Oxide插件平台③下载插件④安装插件⑤调试插件⑥模组服的更新⑦在标准服中使用插件功能【在自己的电脑上运行服务端】①…

    2022年7月14日
    76
  • python进入文件目录 命令_python创建目录

    python进入文件目录 命令_python创建目录python进入到指定目录下的方法:Python可以使用os.chdir()方法转到指定目录。os.chdir()方法用于改变当前工作目录到指定的路径。chdir()方法语法格式如下:os.chdir(path)参数path–要切换到的新路径。实例以下实例演示了chdir()方法的使用:#!/usr/bin/python#-*-coding:UTF-8-*-importos,…

    2022年8月31日
    4
  • 关于cortex-M3/M4中Bit-banding的笔记

    关于cortex-M3/M4中Bit-banding的笔记Bit-bandingBit-bandingmapsacompletewordofmemoryontoasinglebitinthebit-bandregion.Forexample,writingtooneofthealiaswordswillsetorclearthecorrespondingbitinthebitbandre

    2022年10月13日
    3
  • 简单使用SAXReader解析xml数据

    简单使用SAXReader解析xml数据之前的工作中,一直是使用json格式的数据进行数据传输。很少会接触到xml格式的数据。不过因为工作需求,在对接其他产品的接口时,偶尔会遇到需要使用xml格式数据的情况,所以,也得学学如何解析xml。不过个人感觉,还是Json比较容易些啊,第一次解析xml时,我是一脸懵逼的,不过难者不会,会者不难,知道其中的原理和使用方法,其实发现xml也是很简单而且很强大的。简单的学习一下xml,在w3sch

    2022年7月12日
    44
  • 实现带查询功能的Combox控件

    实现带查询功能的Combox控件

    2021年11月30日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号