在乌班图系统(ubantu)中使用Supervisor守护进程工具安装AspNetCore程序

本文主要是介绍在乌班图系统(ubantu)中使用Supervisor守护进程工具安装AspNetCore程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第一步:安装Supervisor工具,并配置一下web管理界面;

1、修改并生成默认配置文件:

sudo apt-get install supervisor  //安装supervisor
service supervisor start   //启动supervisor,也可以使用这个命令启动supervisord,启动时可以指定配置文件启动echo_supervisord_conf > /etc/supervisor/supervisord.conf  //生成标准的supervisor配置文件,需要root权限,否则不能创建conf文件

 2、修改配置文件配置web管理界面功能:

sudo vim /etc/supervisor/supervisord.conf  ;打开配置文件后找到以下内容,并且把前面的;号去掉
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001        ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123               ; (default is no password (open server));这两行大概在文件的最末尾
[include]
files = /etc/supervisor/conf.d/*.conf

 3、重新启动supervisor或者更新supervisor的配置

sudo supervisorctl reload  //重启supervisor
service supervisor restart //也是重启命令sudo supervisorctl update //更新配置文件

 4、可以使用地址:http://localhost:9001访问进入到supervisor的web管理界面,如下图:

第二部:在Supervisor的安装目录下,一般为默认安装目录:/etc/supervisor有一个conf.d的目录,进入conf.d的目录bi并且创建一个配置文件:sudo vim hellowebapp.conf(文件名可以自定义),填入以下内容:

[program:hellowebapp]  ;此处为服务名称可以自定义
command=/home/root/dotnet/dotnet WebApplication1.dll -c appsettings.json   ;此处为执行启动aspnetcore程序的命令
directory=/home/root/dotnet/website/test.web   ;此处为aspnetcore程序的目录
environment=ASPNETCORE_ENVIRONMENT=Production  ;此处通用
autorestart=true   ;此处通用
autostart=true  ;此处通用
stderr_logfile=/home/root/dotnet/website/WebApplication1.err.log    ;此处为aspnet程序的supervisor写的日志,很多时候启动不了可以查看此日志找原因
stdout_logfile=/home/root/dotnet/website/WebApplication1.out.log  ;此处为aspnet程序的supervisor写的日志
user=root    ;此处为系统登入用户名
stopsignal=INT   ;此处通用
startsecs=1    ;此处通用
startretries=3   ;此处通用

一般来说配置好了这些就能正常启动apsnetcore程序了,可以到supervisor的web管理控制台查看状态:

 

 

主要碰到两种异常情况:

1:当报错内容是dotnet command not found时,请检查环境变量是否正确,如果环境变量也正确的话可以使用命令的绝对路径,我的dotnet命令的绝对路径是:/home/root/dotnet/dotnet;

 

2:当报错内容是BACKOFF Exited too quickly时,请检查命令是否可以正常启动程序,并且检查aspnetcore的程序目录是否正确,或者检查日志是否正常输出,没日志输出说明程序没权限,也就是启动用户没权限,一般root用户是有权限的;

 

 

 

这篇关于在乌班图系统(ubantu)中使用Supervisor守护进程工具安装AspNetCore程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/171338

相关文章

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Linux下进程的CPU配置与线程绑定过程

《Linux下进程的CPU配置与线程绑定过程》本文介绍Linux系统中基于进程和线程的CPU配置方法,通过taskset命令和pthread库调整亲和力,将进程/线程绑定到特定CPU核心以优化资源分配... 目录1 基于进程的CPU配置1.1 对CPU亲和力的配置1.2 绑定进程到指定CPU核上运行2 基于

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、