.Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程
简介
supervisor可以保证程序崩溃后,可以重新把程序启动起来等相关功能。
安装
yum install -y supervisor
安装好后在/etc/会生成一个supervisord.conf文件及一个supervisord.d文件目录
查看supervisor是否安装成功
supervisord --version

启动
supervisord -c /etc/supervisord.conf
查看supervisor是否启动成功
ps -ef|grep supervisord

设置supervisor 开机启动
systemctl enable supervisord
检查是否是开机启动
systemctl is-enabled supervisord

启动服务
systemctl start supervisord
启动时可能回报错:Another program is already listening on a port that one of our HTTP servers is config...rvisord.

解决方案:
执行命令 find / -name supervisor.sock 然后 unlink /路径/supervisor.sock 最后再执行启动命令 systemctl start supervisord
查看状态
systemctl status supervisord.service

配置supervisor ,web管理页面
修改配置信息,supervisor 默认配置文件,放在 /etc/supervisord.conf 路径中:
[inet_http_server] ; HTTP 服务器,提供 web 管理界面
port=*: ; Web 管理后台运行的 IP 和端口
username=user ; 登录管理后台的用户名
password= ; 登录管理后台的密码
[include]
files = supervisord.d/*.ini ;配置文件夹
修改完之后重启:
supervisorctl reload

然后通过http://ip:9001/访问web界面,账户名密码就是你配置的,效果如下:

创建配置文件
创建一个.ini文件,放在目录supervisord.d下
[program:demo] ;程序名称
command=dotnet demo.dll ; 运行命令
directory=/web/publish;目录
environment=ASPNETCORE_ENVIRONMENT=Production;环境变量
user=root;用户
stopsignal=INT
autostart=true;如果是true的话,子进程将在supervisord启动后被自动启动
autorestart=true;进程死掉后自动重启的情况
stderr_logfile=/var/log/demo/demo.err.log;错误日志文件
stdout_logfile=/var/log/demo/demo.out.log;输出日志文件

重启
systemctl restart supervisord
查看是否生效
supervisorctl status

然后把Xshell关了,浏览器中输入:http://ip:8080/api/values,也能看到以下页面:

supervisorctl 常用命令
查看任务状态:supervisorctl status
启动任务:supervisorctl start <name>
停止任务:supervisorctl stop <name>
重启任务:supervisorctl restart <name>
清除日志文件:supervisorctl clear <name>
清除多个日志文件:supervisorctl clear <name> <name>
清除所有日志文件:supervisorctl clear all
移除任务:supervisorctl remove <name>
Nginx代理配置
安裝nginx:Linux - CentOS 7 通过Yum源安装 Nginx
修改nginx.conf
添加一个服务
server {
listen ;
server_name 47.106.98.252;
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:8080;
}
}
检查配置文件是否成功
nginx -t

成功之后重启Nginx服务
systemctl restart nginx.service
测试
浏览器输入http://ip:/api/values,效果是一样的:

.Net Core 项目发布到Linux - CentOS 7(二)用Supervisor守护netcore进程的更多相关文章
- .Net Core 项目发布到Linux - CentOS 7(一)
由于项目的需求,需要发布到Linux服务器上,在这里记录一下我发布的过程. 安装Linux 安装liunx系统很简单,网上也有很多教程,我是直接使用阿里云的CentOS 7.7 64位 部署环境 Li ...
- 关于.net Core项目发布在Linux上的填坑
本文主要记录.net Core项目发布在Linux服务器上面所遇到的问题,防止遗忘是 1.在发布文件中执行 dotnet xxxxxx.dll的时候提示如下错误: An assembly specif ...
- .NET Core项目部署到Linux(Centos7)(二)环境和软件的准备
目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...
- linux centos Supervisor守护.netcore进程安装配置
场景:当部署完.netcore程序后 使用dotnet xx.dll 后可以运行,但关闭shell或隔断时间会自动断开,此时部署的.netcore程序就不能访问了,此时需要用到Supervisor了 ...
- 将.NET Core Web Api发布到Linux(CentOS 7 64)
将.NET Core(2.1) Web Api发布到Linux(CentOS 7 64) 近来在学习linux相关的一些东西,然后正巧想试一下把core的应用程序发布到Linux,毕竟跨平台.尝试一下 ...
- .NET Core跨平台:.NET Core项目部署到linux(Centos7)
1.开篇说明 a 上篇博客简单的说明了一下 使用.NET Core开发的一个总结,地址是:(http://www.cnblogs.com/hanyinglong/p/6442148.html),那么这 ...
- ASP.NET Core 网站发布到Linux服务器(转)
出处;ASP.NET Core 网站发布到Linux服务器 长期以来,使用.NET开发的应用只能运行在Windows平台上面,而目前国内蓬勃发展的互联网公司由于成本的考虑,大量使用免费的Linux平台 ...
- 部署.Net Core APi+Vue 到 linux centos 服务器(一)
部署.Net Core APi+Vue 到 linux centos 服务器(一) 前言:项目采用的是 .net core 作为接口,vue作为前端. 此时需要把整个项目架设到linux centos ...
- java项目发布到linux服务器,tomcat正常启动但没加载项目
问题描述: java项目发布到linux服务器,一切操作正确,linux命令启动tomcat后,查看日志启动tomcat正常,上传的war包已经解压成功,但是tomcat没加载项目. 解决方法: 1. ...
随机推荐
- nginx代理跨域,根据路径参数改变目标服务器地址
我们都知道nginx是可以做跨域代理的: location ^~ /visited-path/ { proxy_pass http://another-domain/; } 举个例子:假如我们的代理服 ...
- Unknown class XXViewController in Interface Builder file.”问题处理
“Unknown class XXViewController in Interface Builder file.”问题处理 在静态库中写了一个XXViewController类,然后在主工程的 ...
- Spring Boot 整合Spring Data以及rabbitmq,thymeleaf,向qq邮箱发送信息
首先得将自己的qq开启qq邮箱的POP3/SMTP服务 说明: p,e为路由key. 用户系统完成登录的时候,将{手机号-时间-IP}保存到队列Phone-queue中,msg-sys系统获得消息打印 ...
- [TimLinux] JavaScript 模态框可拖动功能实现——jQuery版
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- UESTC-1964命运石之门(类似SPFA的BFS)
命运石之门 Time Limit: 1000 MS Memory Limit: 256 MB Submit Status "这一切都是命运石之门的选择!" 凶真博士发明了能 ...
- 笔记||Python3之字符串
字符串是Python中最常用的数据类型.我们可以使用引号('或''或''')来创建字符串. 三引号特点:可以多行,也可以多行注释. a = 'hello world' a = "hello ...
- FPGA之驱动sdram控制兼容性移植实验
cb早在2012年就推出了VIP 视频开发板 V1.4 这套开发板是ep2的,摄像头是ov7670,虽然不如当前的vip20强大,但也算是其雏形. 在vip20后期,cb对sdram以及其他模块进行 ...
- 静态页面开发JS页面跳转加密解密URL和参数
页面跳转加密URL地址参数传递 window.location.href="foot.html?"+"good="+encodeURI(encodeURI(go ...
- 深入理解 Java 方法
方法(有的人喜欢叫函数)是一段可重用的代码段.
- Linux-tac、diff、tree、echo、seq、重定向
1.tac 方向输出文件,最后一行放在第一行的位置输出 2.diff 比较文件的内容 vimdiff:在vim中比较 3. tree 树状图显示目录内容 -d 只显示目录 -L 树状 目录 ...