丽水城乡建设局网站中心城网站建设
web/
2025/10/7 13:14:40/
文章来源:
丽水城乡建设局网站,中心城网站建设,淘宝做短视频网站好,nodejs 做网站Supervisord进程管家 Supervisord是一个守护进程的工具#xff0c;当进程意外终止或服务器掉电起来后#xff0c;希望进程能够自动运行#xff0c;supervisord可以很好的为我们做这件事情。同时supervisord也自带监控界面#xff0c;可以通过浏览器灵活的查看、操作。 以安…Supervisord进程管家 Supervisord是一个守护进程的工具当进程意外终止或服务器掉电起来后希望进程能够自动运行supervisord可以很好的为我们做这件事情。同时supervisord也自带监控界面可以通过浏览器灵活的查看、操作。 以安徽storm快数据系统为例20台服务器总计268个进程不包括CDH hadoop集群进程全部由supervisord接管。 1 首先安装meld3和supervisor 下载地址 https://pypi.python.org/pypi/meld3 https://pypi.python.org/pypi/supervisor tar xfz meld3-1.0.2.tar.gz cd meld3-1.0.2 python setup.py install python setup.py install安装报错 [rootlocalhost meld3-1.0.2]# python setup.py install Traceback (most recent call last): File setup.py, line 1, in ? from setuptools import setup ImportError: No module named setuptools 解决办法 http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz tar zxvf setuptools-0.6c11.tar.gz cd setuptools-0.6c11 python setup.py build python setup.py install tar xfz supervisor-3.2.3.tar.gz cd supervisor-3.2.3 python setup.py install 2生成配置文件 echo_supervisord_conf /etc/supervisord.conf 3修改配置文件并在末尾添加app守护 vi /etc/supervisord.conf 末尾添加app信息 [program:storm_nimbus] userinas autorestarttrue directory/home/inas/storm/bin command/home/inas/storm/bin/storm nimbus [program:storm_ui] userinas autorestarttrue directory/home/inas/storm/bin command/home/inas/storm/bin/storm ui [program:storm_supervisor] userinas autorestarttrue directory/home/inas/storm/bin command/home/inas/storm/bin/storm supervisor 附录/etc/supervisord.conf 安徽样例 4添加自启动服务脚本 vi /etc/init.d/supervisord 详见附录/etc/init.d/supervisord 5生成日志目录并添加到服务里 mkdir -p /var/log/supervisor chmod x /etc/init.d/supervisord chkconfig --add supervisord chkconfig --list supervisord 6相关命令 service supervisord start|stop|status|reload|restart supervisorctl status supervisorctl start xxx supervisorctl stop xxx supervisorctl update 7监控页面如需要安全性也可以设置账号 http://x.x.x.x:9001 8FAQ Q由supervisord守护的进程条件 A启动命令中不能包含daemon或后台符来运行即可。 Q如果/etc/supervisord.conf里新增加了app需要重启supervisord A可以通过service supervisord restart来重启所有app; 也可以通过supervisorctl update命令来运行新增的app而原有未改动的app不受影响。 附录1 /etc/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. ; - Comments must have a leading space: ab ;comment not ab;comment. [unix_http_server] file/tmp/supervisor.sock ; (the path to the socket file) ;chmod0700 ; socket file mode (default 0700) ;chownnobody:nogroup ; socket file uid:gid owner ;usernameuser ; (default is no username (open server)) ;password123 ; (default is no password (open server)) [inet_http_server] ; inet (TCP) server disabled by default port0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface) ;usernameuser ; (default is no username (open server)) ;password123 ; (default is no password (open server)) [supervisord] logfile/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log) logfile_maxbytes50MB ; (max main logfile bytes b4 rotation;default 50MB) logfile_backups10 ; (num of main logfile rotation backups;default 10) loglevelinfo ; (log level;default info; others: debug,warn,trace) pidfile/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) nodaemonfalse ; (start in foreground if true;default false) minfds1024 ; (min. avail startup file descriptors;default 1024) minprocs200 ; (min. avail process descriptors;default 200) ;umask022 ; (process file creation umask;default 022) ;userchrism ; (default is current user, required if root) ;identifiersupervisor ; (supervisord identifier, default is supervisor) ;directory/tmp ; (default is not to cd during start) ;nocleanuptrue ; (dont clean up tempfiles at start;default false) ;childlogdir/tmp ; (AUTO child log dir, default $TEMP) ;environmentKEYvalue ; (key value pairs to add to environment) ;strip_ansifalse ; (strip ansi escape codes in logs; def. false) ; the below 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: sections [rpcinterface:supervisor] supervisor.rpcinterface_factory supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurlunix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket ;serverurlhttp://127.0.0.1:9001 ; use an http:// url to specify an inet socket ;usernamechris ; should be same as http_username if set ;password123 ; should be same as http_password if set ;promptmysupervisor ; cmd line prompt (default supervisor) ;history_file~/.sc_history ; use readline history if available ; The below sample program section shows all possible program subsection values, ; create one or more real program: sections to be able to control them under ; supervisor. ;[program:theprogramname] ;command/bin/cat ; the program (relative uses PATH, can take args) ;process_name%(program_name)s ; process_name expr (default %(program_name)s) ;numprocs1 ; number of processes copies to start (def 1) ;directory/tmp ; directory to cwd to before exec (def no cwd) ;umask022 ; umask for process (default None) ;priority999 ; the relative start priority (default 999) ;autostarttrue ; start at supervisord start (default: true) ;startsecs1 ; # of secs prog must stay up to be running (def. 1) ;startretries3 ; max # of serial start failures when starting (default 3) ;autorestartunexpected ; when to restart if exited after running (def: unexpected) ;exitcodes0,2 ; expected exit codes used with autorestart (default 0,2) ;stopsignalQUIT ; signal used to kill process (default TERM) ;stopwaitsecs10 ; max num secs to wait b4 SIGKILL (default 10) ;stopasgroupfalse ; send stop signal to the UNIX process group (default false) ;killasgroupfalse ; SIGKILL the UNIX process group (def false) ;userchrism ; setuid to this UNIX account to run the program ;redirect_stderrtrue ; redirect proc stderr to stdout (default false) ;stdout_logfile/a/path ; stdout log path, NONE for none; default AUTO ;stdout_logfile_maxbytes1MB ; max # logfile bytes b4 rotation (default 50MB) ;stdout_logfile_backups10 ; # of stdout logfile backups (default 10) ;stdout_capture_maxbytes1MB ; number of bytes in capturemode (default 0) ;stdout_events_enabledfalse ; emit events on stdout writes (default false) ;stderr_logfile/a/path ; stderr log path, NONE for none; default AUTO ;stderr_logfile_maxbytes1MB ; max # logfile bytes b4 rotation (default 50MB) ;stderr_logfile_backups10 ; # of stderr logfile backups (default 10) ;stderr_capture_maxbytes1MB ; number of bytes in capturemode (default 0) ;stderr_events_enabledfalse ; emit events on stderr writes (default false) ;environmentA1,B2 ; process environment additions (def no adds) ;serverurlAUTO ; override serverurl computation (childutils) ; The below sample eventlistener section shows all possible ; eventlistener subsection values, create one or more real ; eventlistener: sections to be able to handle event notifications ; sent by supervisor. ;[eventlistener:theeventlistenername] ;command/bin/eventlistener ; the program (relative uses PATH, can take args) ;process_name%(program_name)s ; process_name expr (default %(program_name)s) ;numprocs1 ; number of processes copies to start (def 1) ;eventsEVENT ; event notif. types to subscribe to (reqd) ;buffer_size10 ; event buffer queue size (default 10) ;directory/tmp ; directory to cwd to before exec (def no cwd) ;umask022 ; umask for process (default None) ;priority-1 ; the relative start priority (default -1) ;autostarttrue ; start at supervisord start (default: true) ;startsecs1 ; # of secs prog must stay up to be running (def. 1) ;startretries3 ; max # of serial start failures when starting (default 3) ;autorestartunexpected ; autorestart if exited after running (def: unexpected) ;exitcodes0,2 ; expected exit codes used with autorestart (default 0,2) ;stopsignalQUIT ; signal used to kill process (default TERM) ;stopwaitsecs10 ; max num secs to wait b4 SIGKILL (default 10) ;stopasgroupfalse ; send stop signal to the UNIX process group (default false) ;killasgroupfalse ; SIGKILL the UNIX process group (def false) ;userchrism ; setuid to this UNIX account to run the program ;redirect_stderrfalse ; redirect_stderrtrue is not allowed for eventlisteners ;stdout_logfile/a/path ; stdout log path, NONE for none; default AUTO ;stdout_logfile_maxbytes1MB ; max # logfile bytes b4 rotation (default 50MB) ;stdout_logfile_backups10 ; # of stdout logfile backups (default 10) ;stdout_events_enabledfalse ; emit events on stdout writes (default false) ;stderr_logfile/a/path ; stderr log path, NONE for none; default AUTO ;stderr_logfile_maxbytes1MB ; max # logfile bytes b4 rotation (default 50MB) ;stderr_logfile_backups10 ; # of stderr logfile backups (default 10) ;stderr_events_enabledfalse ; emit events on stderr writes (default false) ;environmentA1,B2 ; process environment additions ;serverurlAUTO ; override serverurl computation (childutils) ; The below sample group section shows all possible group values, ; create one or more real group: sections to create heterogeneous ; process groups. ;[group:thegroupname] ;programsprogname1,progname2 ; each refers to x in [program:x] definitions ;priority999 ; the relative start priority (default 999) ; 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 relative/directory/*.ini [program:zookeeper] userinas autorestarttrue command/usr/java/default/bin/java -Dzookeeper.log.dir/home/inas/zookeeper-3.4.8/bin -Dzookeeper.root.loggerINFO,CONSOLE -cp /home/inas/zookeeper-3.4.8/build/classes:/home/inas/zookeeper-3.4.8/build/lib/*.jar:/home/inas/zookeeper-3.4.8/lib/slf4j-log4j12-1.6.1.jar:/home/inas/zookeeper-3.4.8/lib/slf4j-api-1.6.1.jar:/home/inas/zookeeper-3.4.8/lib/netty-3.7.0.Final.jar:/home/inas/zookeeper-3.4.8/lib/log4j-1.2.16.jar:/home/inas/zookeeper-3.4.8/lib/jline-0.9.94.jar:/home/inas/zookeeper-3.4.8/zookeeper-3.4.8.jar:/home/inas/zookeeper-3.4.8/src/java/lib/*.jar:/home/inas/zookeeper-3.4.8/conf:.:/usr/java/default/lib/dt.jar:/usr/java/default/lib/tools.jar: -Xms4096m -Xmx4096m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.onlyfalse org.apache.zookeeper.server.quorum.QuorumPeerMain /home/inas/zookeeper-3.4.8/conf/zoo.cfg [program:storm_nimbus] userinas autorestarttrue command/home/inas/storm/bin/storm nimbus [program:storm_ui] userinas autorestarttrue command/home/inas/storm/bin/storm ui [program:storm_supervisor] userinas autorestarttrue command/home/inas/storm/bin/storm supervisor [program:haproxy] userinas autorestarttrue directory/home/inas/haproxy command/home/inas/haproxy/haproxy -f haproxy_supervisord.cfg [program:tomcat1] userinas autorestarttrue directory/home/inas/tomcat1/bin command/home/inas/tomcat1/bin/catalina.sh run [program:tomcat2] userinas autorestarttrue directory/home/inas/tomcat2/bin command/home/inas/tomcat2/bin/catalina.sh run 附录2 /etc/init.d/supervisord 文件样例 #!/bin/bash # # supervisord Startup script for the Supervisor process control system # # Author: Mike McGrath mmcgrathredhat.com (based off yumupdatesd) # Jason Koppe jkoppeindeed.com adjusted to read sysconfig, # use supervisord tools to start/stop, conditionally wait # for child processes to shutdown, and startup later # Erwan Queffelec erwan.queffelecgmail.com # make script LSB-compliant # # chkconfig: 345 83 04 # description: Supervisor is a client/server system that allows \ # its users to monitor and control a number of processes on \ # UNIX-like operating systems. # processname: supervisord # config: /etc/supervisord.conf # config: /etc/sysconfig/supervisord # pidfile: /var/run/supervisord.pid # ### BEGIN INIT INFO # Provides: supervisord # Required-Start: $all # Required-Stop: $all # Short-Description: start and stop Supervisor process control system # Description: Supervisor is a client/server system that allows # its users to monitor and control a number of processes on # UNIX-like operating systems. ### END INIT INFO # Source function library . /etc/rc.d/init.d/functions # Source system settings if [ -f /etc/sysconfig/supervisord ]; then . /etc/sysconfig/supervisord fi # Path to the supervisorctl script, server binary, # and short-form for messages. supervisorctl/usr/bin/supervisorctl supervisord${SUPERVISORD-/usr/bin/supervisord} progsupervisord pidfile${PIDFILE-/var/run/supervisord.pid} lockfile${LOCKFILE-/var/lock/subsys/supervisord} STOP_TIMEOUT${STOP_TIMEOUT-60} OPTIONS${OPTIONS--c /etc/supervisord.conf} RETVAL0 start() { echo -n $Starting $prog: daemon --pidfile${pidfile} $supervisord $OPTIONS RETVAL$? echo if [ $RETVAL -eq 0 ]; then touch ${lockfile} $supervisorctl $OPTIONS status fi return $RETVAL } stop() { echo -n $Stopping $prog: killproc -p ${pidfile} -d ${STOP_TIMEOUT} $supervisord RETVAL$? echo [ $RETVAL -eq 0 ] rm -rf ${lockfile} ${pidfile} } reload() { echo -n $Reloading $prog: LSB1 killproc -p $pidfile $supervisord -HUP RETVAL$? echo if [ $RETVAL -eq 7 ]; then failure $$prog reload else $supervisorctl $OPTIONS status fi } restart() { stop start } case $1 in start) start ;; stop) stop ;; status) status -p ${pidfile} $supervisord RETVAL$? [ $RETVAL -eq 0 ] $supervisorctl $OPTIONS status ;; restart) restart ;; condrestart|try-restart) if status -p ${pidfile} $supervisord /dev/null; then stop start fi ;; force-reload|reload) reload ;; *) echo $Usage: $prog {start|stop|restart|condrestart|try-restart|force-reload|reload} RETVAL2 esac exit $RETVAL 转载于:https://www.cnblogs.com/chenjunjie/p/7793924.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88492.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!