前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >redir+supervicor 端口映射并监控

redir+supervicor 端口映射并监控

作者头像
用户5522200
发布2019-06-02 15:30:50
2.7K0
发布2019-06-02 15:30:50
举报
文章被收录于专栏:lindalinda

一、redir

Redir可以将一个机器的端口映射为本机的某个端口,支持TCP连接。 Git地址:https://github.com/troglobit/... 下载:git clone https://github.com/troglobit/...

安装:
# cd /redir
yum -y install automake
yum -y install autoconf
# ./autogen.sh
# ./configure        //默认目录为/usr/local,如需修改目录则使用# ./configure --prefix=/usr 
# make -j5
# sudo make install-strip
查看help信息 # redir --help
查看版本      # redir -v
运行:
redir -I mysql3307 :4001 192.168.100.100:3307  //吧192.168.100.100的3307端口映射到本机的4001端口
登录验证:
# mysql -uroot -p -P4001 -h127.0.0.1
运行:
/usr/local/bin/redir -n -I mysql3306  :4000 192.168.100.100:3306

二、Supervisor的安装使用

Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。supervisord 要求管理的程序是非 daemon 程序,supervisord 会帮你把它转成 daemon 程序,因此如果用 supervisord 来管理进程,进程需要以非daemon的方式启动。 网址:http://supervisord.org/instal...

2.1 安装
# yum install python-setuptools
# easy_install supervisor
或者:pip install supervisor
2.2 配置supervisor

A.创建文件夹和配置文件

# mkdir supervisor
# echo_supervisord_conf > /etc/supervisor/supervisord.conf        
//supervisor服务启动的时候默认的配置在/etc/supervisord.conf,别烦人目录需使用-c 

B.修改内容supervisord.conf内容 在文件结尾[include]节点处 把;files = relative/directory/.ini改为files = conf.d/.conf 保存并退出 C.执行supervisorctl reload命令使配置文件生效。 D.在/etc/supervisor/下创建conf.d文件夹,及ProjectName.conf(以项目名称命名的) E.打开ProjectName.conf文件,添加内容如下:

[program: ProjectName]
command=dotnet ProjectName.dll ; 运行程序的命令
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=INT
startsecs=1 ; 自动重启间隔

保存并退出 例子:

[root@vm-test03 conf.d]# cat supervisor_mysql3306.conf 
[program:mysql3306]
command=/usr/local/bin/redir -n -I mysql3306  :4000 192.168.100.100:3306
autostart = true
autorestart = true
startsecs = 1
user = root
stdout_logfile = /data/supervisor/logs/mysql3306_info.log
stderr_logfile = /data/supervisor/logs/mysql3306_err.log

supervisorctl
supervisorctl stop programxxx, 停止某一个进程(programxxx),programxxx 为 [program:beepkg] 里配置的值,这个示例就是 beepkg。
supervisorctl start programxxx,  启动某个进程。
supervisorctl restart programxxx,重启某个进程。
supervisorctl status,  查看进程状态。
supervisorctl stop groupworker ,重启所有属于名为 groupworker 这个分组的进程(start,restart 同理)。
supervisorctl stop all,  停止全部进程,注:start、restart、stop 都不会载入最新的配置文件。
supervisorctl reload,   载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl update,  根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
2.3配置systemd启动:
[root@vm-test03 conf.d]# cat /usr/lib/systemd/system/supervisord.service 
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload

KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、redir
    • 安装:
      • 运行:
        • 登录验证:
          • 运行:
          • 二、Supervisor的安装使用
            • 2.1 安装
              • 2.2 配置supervisor
                • 2.3配置systemd启动:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档