Centos7 中使用搭建devpi并且使用Supervisor守护进程
一、先介绍一下supervisor
1.安装supervisor
使用yum安装或者使用pip安装都可以,使用yum安装的相对简单一些,并且不用拷贝一份 supervisord.conf 的配置文件,在这里介绍一下pip安装的方式吧,我是后编译了一个python,执行下面一系列的命令:
/usr/local/python/bin/pip3 install supervisor
ln -s /usr/local/python/bin/supervisorctl /usr/bin/
ln -s /usr/local/python/bin/supervisord /usr/bin/
mkdir /etc/supervisor
然后需要在这个文件中写入如下,都是固定的,直接拷贝即可:
vim /etc/supervisor/supervisord.conf
写入下面:
; Sample supervisor config file.
;
; For more information on the config file, please see:
; http://supervisord.org/configuration.html
;
; Notes:
; - Shell expansion ("~" or "$HOME") is not supported. Environment
; variables can be expanded using this syntax: "%(ENV_HOME)s".
; - Quotes around values are not supported, except in the case of
; the environment= options as shown below.
; - Comments must have a leading space: "a=b ;comment" not "a=b;comment".
; - Command will be truncated if it looks like a config file comment, e.g.
; "command=bash -c 'foo ; bar'" will truncate to "command=bash -c 'foo ". [unix_http_server]
file=/var/run/supervisor.sock ; the path to the socket file [supervisord]
logfile=/var/log/supervisord.log ; main log file; default $CWD/supervisord.log
logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB
logfile_backups=10 ; # of main logfile backups; 0 means none, default 10
loglevel=info ; log level; default info; others: debug,warn,trace
pidfile=/var/run/supervisord.pid ; supervisord pidfile; default supervisord.pid
nodaemon=false ; start in foreground if true; default false
minfds=1024 ; min. avail startup file descriptors; default 1024
minprocs=200 ; min. avail process descriptors;default 200 ; The rpcinterface:supervisor section must remain in the config file for
; RPC (supervisorctl/web interface) to work. Additional interfaces may be
; added by defining them in separate [rpcinterface:x] sections. [rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface ; The supervisorctl section configures how supervisorctl will connect to
; supervisord. configure it match the settings in either the unix_http_server
; or inet_http_server section. [supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket ; The [include] section can just contain the "files" setting. This
; setting can list multiple files (separated by whitespace or
; newlines). It can also contain wildcards. The filenames are
; interpreted as relative to this file. Included files *cannot*
; include files themselves. [include]
files = conf.d/*.conf
其中主要是红色,随后进行:
mkdir /etc/supervisor/conf.d
cd /etc/supervisor/conf.d
之后就要编辑要监管的服务了,编辑写入:
vim /etc/supervisor/conf.d/devpi.conf [program:devpi]
command=/usr/local/python/bin/devpi-server --port 3141 --host 10.213.X.X --serverdir /home/ops/devpi
directory=/home/ops/devpi
autostart=true
autorestart=true
startretries=3
user=root
stopasgroup=true
killasgroup=true
redirect_stderr = true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /var/log/devpi-running.log
真正的模板对应改文件如下,并含解释:
[program:DeployLinux] #DeployLinux 为程序的名称
command=dotnet DeployLinux.dll #需要执行的命令
directory=/home/publish #命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
user=root #用户
stopsignal=INT
autostart=true #是否自启动
autorestart=true #是否自动重启
startsecs=3 #自动重启时间间隔(s)
stderr_logfile=/var/log/ossoffical.err.log #错误日志文件
stdout_logfile=/var/log/ossoffical.out.log #输出日志文件
随后启动服务,即可:
supervisord -c /etc/supervisor/supervisord.conf
查看状态,以及重新启动命令如下:
supervisorctl status
supervisorctl restart devpi
这一部分的内容大概就是这些,参考文章:https://www.cnblogs.com/wyt007/p/8288929.html
下面是devpi-server的相关内容:
二、安装devpi-server
这里同样是使用pip方式进行的安装,执行 pip install 该服务即可,安装成功后,可以使用如下命令查看版本:
/usr/local/python/bin/devpi-server --version
还需要安装其他几个相关包:
/usr/local/python/bin/pip3 install -q -U devpi-web
/usr/local/python/bin/pip3 install -q -U devpi-client
然后需要重新启动一下devpi,执行:
/usr/local/python/bin/devpi-server --port 3141 --host 10.213.X.X --serverdir /home/ops/devpi --init
这里我创建了一个devops的用户:
/usr/local/python/bin/devpi user -c devops password=devops
/usr/local/python/bin/devpi login devops --password=devops
/usr/local/python/bin/devpi index -c devops bases=root/pypi
/usr/local/python/bin/devpi use devops/devops
/usr/local/python/bin/devpi index devops/devops mirror_url="https://pypi.doubanio.com/simple"
在我的 ~/.pip/pip.conf 中的为:
[global]
index-url = https://pypi.doubanio.com/simple [search]
index = https://pypi.doubanio.com/simple [install]
trusted-host = 10.213.X.X #就是我的devpi的服务器
随后可以使用下面两个命令进行查看:
devpi use
devpi index
devpi index root/pypi mirror_url="https://pypi.doubanio.com/simple" 具体的记不太清楚了
下面进行测试看一看:
devpi login devops
devpi use
cd /tmp/filelock-3.0.10/ # 要上传的包目录下
devpi upload # 上传到devops索引下
devpi list filelock # 查看索引
这里有一篇参考文章,如:https://www.cnblogs.com/panhongyin/p/7065830.html
Centos7 中使用搭建devpi并且使用Supervisor守护进程的更多相关文章
- 【Centos7】 中使用Supervisor守护进程
原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor 2.启动服务 su ...
- Centos7 使用 Supervisor 守护进程 Celery
一.Supervisor 安装(centos7 还有另一个进程守护命令 Systemd ) Centos 7 安装 Supervisord 二.Supervisor 守护进程 Centos7 使用 S ...
- 【转载】Centos7 中使用Supervisor守护进程
配置supervisor实现进程守护 1.安装supervisor yum install Supervisor 2.启动服务 supervisord -c /etc/supervisord.co ...
- Centos7 中使用Supervisor守护进程
转:https://www.cnblogs.com/qmhuang/p/8196132.html 配置supervisor实现进程守护 1.安装supervisor yum install Super ...
- CentOS7 安装supervisor守护进程管理器
supervisor没有发布在标准的CentOS源在,需要安装epel源.这种方式安装的可能不是最新版本,但比较方便,安装完成之后,配置文件会自动帮你生成. 默认配置文件:/etc/superviso ...
- Linux Supervisor 守护进程基本配置
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...
- centos 下Supervisor 守护进程基本配置
supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控.管理进程.常用于管理与某个用户或项目相关的进程. 组成部分supervisord:服务守护进程supervisorctl ...
- DUBBO+Zookeeper在Centos7中本地搭建及小案例
环境: 1.centos7 2.jdk-7u76-linux-x64.tar.gz 2.tomcat:apache-tomcat-7.0.59.tar.gz 3.zookeeper-3.4.6.tar ...
- centos7 .net core 使用supervisor守护进程,可以后台运行
1.安装supervisor yum install supervisor 2.配置supervisor vi /etc/supervisord.conf 拉到最后,这里的意思是 /etc/super ...
随机推荐
- 在JBPM的Handle类中调用Spring管理的类
我们在使用JBPM定义流程的时候经常要在流程定义文件中加入一个继承xxxHandler的类来实现我们的业务逻辑判断或者其他的需求,在这个类中一般都是用Spring的Application来获取,而这种 ...
- 【 Makefile 编程基础之…
本站文章均为李华明Himi原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/gcc-makefile/766.html 概述: ...
- Linux实战教学笔记40: Mha-Atlas-MySQL高可用方案实践(二)
六,配置VIP漂移 主机名 IP地址(NAT) 漂移VIP 描述 mysql-db01 eth0:192.168.0.51 VIP:192.168.0.60 系统:CentOS6.5(6.x都可以) ...
- 分别用js和css实现瀑布流
下午查找了瀑布流的相关原理,找了一些css3实现的还有js实现的,最后总结了一些比较简单的,易懂的整理起来 1.css3实现 只要运用到 column-count分列 column-width固 ...
- 32. Longest Valid Parentheses (Stack; DP)
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- Opencv轮廓计数(学习)
#include <iostream>#include <opencv2/opencv.hpp>#include <opencv2/xfeatures2d.hpp> ...
- file_get_contents无法请求https连接的解决方法 php开启curl
file_get_contents无法请求https连接的解决方法 方法1: PHP.ini默认配置下,用file_get_contents读取https的链接,就会如下错误: Warning: fo ...
- 882. Reachable Nodes In Subdivided Graph
题目链接 https://leetcode.com/contest/weekly-contest-96/problems/reachable-nodes-in-subdivided-graph/ 解题 ...
- 10个最新手机美食APP界面设计欣赏
移动软件时代,简单下载美食app,动动手指,滑动几下手机屏幕,即可足不出户,搜索,预定和购买各路美食.然而,对于作为手机app UI 界面设计师的你来说,最大的问题并不在于如何使用这些美食软件来方便生 ...
- jqgrid 单元格放超链接文本
.前台 <%-- builed by manage.aspx.cmt [ver:] at // :: --%> <%@ Page Language="C#" Au ...