使用supervisor设置服务端frp开机启动

前言

Frp是一款相当出色的内网穿透软件,Github地址 https://github.com/fatedier/frp ,在没有 frp之前博主一直使用的是花生壳做内网穿透,花生壳的免费版本作为日常基本的穿透足够了,但是近年来,花生壳的服务开始了各种收费,所以有时候不得不另寻高明,当然了,内网穿透软件也有其他的选择。

Frp面世之后就受到了很多运维人员的喜爱,也有很多web开发者开始使用Frp做内网穿透来调试网站,使用Frp的方法十分简单,只需要根据系统版本下载对应的二进制文件,修改一下配置文件,然后直接执行二进制文件就可以了,但是Frp并没有提供一个服务来运行,如果关闭终端程序就直接退出了,或者使用nohup也可以实现程序后台运行,但是这样一旦重启服务器,frp就无法自动启动,所以博主选择使用supervisor进程管理工具实现开机启动。

博主一直在做pyweb的相关开发,在部署Django项目的时候比较喜欢使用Supervisor来做进程的监控,所以这里也使用supervisor来开机启动frp,只需要增加一个配置文件就OK了,非常快速。

实战

首先配置并调试好Frp服务端,假设frps启动时候的配置文件为frps.ini。

接着安装supervisor,安装方法比较简单,我这里使用的是CentOS 7,终端是直接执行

sudo yum install supervisor

即可,安装完之后在/etc/下面可以找到一个supervisord.d文件夹,进入文件夹之后创建一个配置文件

touch frps.ini
编辑frps.ini并写入
[program:frps]
command = /data0/usr/local/frp_0.24.1_linux_amd64/frps -c /data0/usr/local/frp_0.24.1_linux_amd64/frps.ini
autostart = true
注意这里的路径改为你frp所在的路径即可,完成之后重启supervisord服务即可
sudo service supervisord restart
这样就实现了开机启动frps的功能,而且一旦frps挂了,supervisor会自动启动新的进程。

注意

安装完supervisor之后一定要检查下supervisord服务有没有设置为开机启动,如果没有,可以使用

 systemctl enable supervisord
Created symlink from /etc/systemd/system/multi-user.target.wants/supervisord.service to /usr/lib/systemd/system/supervisord.service.

设置开机启动(CentOS 7),这样才能真正的实现开机启动。

当然了,如果熟悉Linux的话,也可以直接使用 systemctl来直接管理frp的开机启动,这里只是提供了一种快速实现的思路而已。

这里的supervisor是使用yum安装,所以会自动创建配置文件和配置文件夹,也自动创建的对应的服务,如果使用pip安装的supervisor,则不能使用service重启服务的方式,需要使用 supervisorctl命令。

本文链接:https://www.92ez.com/?action=show&id=23484
!!! 转载请先联系non3gov@gmail.com授权并在显著位置注明作者和原文链接 !!! 小黑屋
提示:技术文章有一定的时效性,请先确认是否适用你当前的系统环境。

上一篇: 树莓派B+运行kali并使用微雪3.5寸LCD电阻屏显示
下一篇: ubuntu 系列安装 mysqlclient 报错解决

访客评论
目前还没有人评论,您发表点看法?