当前位置: 首页 > Linux

redir+supervicor端口映射与监控

时间:2023-04-06 11:35:13 Linux

1.redirRedir可以将本机的一个端口映射到本机的一个端口,支持TCP连接。Git地址:https://github.com/troglobit/...下载:gitclonehttps://github.com/troglobit/...安装:#cd/rediryum-yinstallautomakeyum-yinstallautoconf#./autogen.sh#./configure//默认目录为/usr/local,如果需要修改目录,使用#./configure--prefix=/usr#make-j5#sudomakeinstall-strip查看帮助信息#redir--帮助查看版本#redir-vrun:redir-Imysql3307:4001192.168.100.100:3307//映射192.168.100.100的3307端口到本机的4001端口登录验证:#mysql-uroot-p-P4001-h127。0.0.1运行:/usr/local/bin/redir-n-Imysql3306:4000192.168.100.100:33062.Supervisor的安装与使用Supervisor(http://supervisord.org/)是一个用Python开发的客户端/服务器服务是Linux/Unix系统下的进程管理工具,不支持Windows系统。它可以轻松地监视、启动、停止和重新启动一个或多个进程。有了Supervisor管理的进程,当一个进程被意外kill时,supervisort会在监测到该进程挂掉后自动重启。supervisord需要管理的程序是非守护程序,supervisord会帮你把它转成守护程序,所以如果你使用supervisord来管理进程,需要以非守护方式启动进程。网址:http://supervisord.org/instal...2.1安装#yuminstallpython-setuptools#easy_installsupervisor或者:pipinstallsupervisor2.2配置supervisorA。创建文件夹和配置文件#mkdirsupervisor#echo_supervisord_conf>/etc/supervisor/supervisord.conf//当supervisor服务启动时,默认配置在/etc/supervisord.conf中,不用管目录,你需要使用-cB.修改supervisord.conf文件末尾[include]节点的内容;files=Relative/directory/.ini改为files=conf.d/.conf保存退出C.执行supervisorctlreload命令使配置文件生效。D.在/etc/supervisor/下创建conf.d文件夹,和ProjectName.conf(以项目名称命名)E.打开ProjectName.conf文件,添加如下内容:[program:ProjectName]command=dotnetProjectName。动态链接库;运行程序的命令directory=/root/Publishing/PublishOutput/;命令执行的目录autorestart=true;程序意外退出时是否自动重启autostart=true;是否自动启动stderr_logfile=/var/log/ProjectName.err.log;错误日志文件stdout_logfile=/var/log/ProjectName.out.log;输出日志文件environment=ASPNETCORE_ENVIRONMENT=Production;进程环境变量user=root;进程执行的用户标识stopsignal=INTstartsecs=1;自动重启间隔保存退出例子:[root@vm-test03conf.d]#catsupervisor_mysql3306.conf[program:mysql3306]command=/usr/local/bin/redir-n-Imysql3306:4000192.168.100.100:3306autostart=trueautorestart=truestartsecs=1user=rootstdout_logfile=/data/supervisor/logs/mysql3306_info.logstderr_logfile=/data/supervisor/logs/mysql3306_err.logsupervisorctlsupervisorctlstopprogramxxx,停止某个进程(programxxx),programxxx是[program:beepkg],这个例子是beepkg。supervisorctlstartprogramxxx,启动一个进程。supervisorctlrestartprogramxxx,重启一个进程。supervisorctlstatus,查看进程状态。supervisorctlstopgroupworker,重启属于名为groupworker的组的所有进程(启动、重启相同)。supervisorctlstopall,停止所有进程,注意:start、restart、stop不会加载最新的配置文件。supervisorctlreload,加载最新的配置文件,停止原来的进程,按照新的配置启动和管理所有进程。supervisorctlupdate,根据最新的配置文件,启动一个新的配置或者修改过的进程,配置没有改变的进程不会受到影响并重启2.3配置systemd启动:[root@vm-test03conf.d]#cat/usr/lib/systemd/system/supervisord.service[Unit]Description=Supervisordaemon[Service]Type=forkingExecStart=/usr/bin/supervisord-c/etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctlshutdownExecReload=/usr/bin/supervisorctlreloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target