配置树莓派的frp反向代理与supervisor进程守护与开机自启脚本

配置树莓派的frp反向代理与supervisor进程守护与开机自启脚本

1. frp下载与安装
  • 在github上直接搜索frp,选择release最新版本,由于树莓派是32bit系统,因此需要下载arm版本的frp
  • 直接在Download文件夹解压安装,然后编辑frpc.ini文件
[common]
server_addr = 47.115.79.156
server_port = 7000

[ssh2] //与frps相对应
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6002 //与frps相对应,未被占用的端口

[vnc] //与frps相对应
type = tcp
local_ip = 127.0.0.1
local_port = 5900
remote_port = 5902 //无需在frps中配置
  • frpc启动命令 ./frpc -c ./frpc.ini
2. 使用supervisor对frpc进程化
  • supervisor3.2.0版本只能在python2.4+中运行
  • 要在python3中运行,需要python版本默认在python3中,执行pip install supervisor
  • 安装成功后,目录/etc/中可能无法找到supervisord.conf
  • 自行在/etc文件夹中创建supervisor文件夹,然后创建配置文件sudo su - root -c "echo_supervisord_conf > /etc/supervisor/supervisord.conf"
  • 在supervisord.conf文件中配置[include] files = /etc/supervisor/conf.d/*.conf
  • 接着在conf.d文件夹中新建frp.conf,添加的内容如下:
[program:frp]	//	frp用于执行supervisor进程
command = /home/pi/Downloads/frp_0.33.0_linux_arm/frpc -c home/pi/Downloads/frp_0.33.0_linux_arm/frpc.ini
autostart = true
3. 启动supervisor服务
  • sudo supervisord -c /etc/supervisor/supervisord.conf
  • 查看进程:sudo supervisorctl status
  • 重启进程:sudo supervisorctl restart frp
  • 停止进程:sudo supervisorctl stop frp
  • 启动进程:sudo supervisorctl start frp
  • 重载进程:sudo supervisorctl reload
4. 开机自启supervisor

在默认情况下,supervisor没有被安装成服务,其本身也是进程,可以通过如下方式进行supervisor开机自启:

4.1 systemctl
  • 启动服务:systemctl start xxx.service
  • 关闭服务:systemctl stop xxx.service
  • 重启服务:systemctl restart xxx.service
  • 显示服务的状态:systemctl status xxx.service
  • 在开机时启用服务:systemctl enable xxx.service
  • 在开机时禁用服务:systemctl disable xxx.service
  • 查看服务是否开机启动:systemctl is-enabled xxx.service
  • 查看已启动的服务列表:systemctl list-unit-files|grep enabled
  • 查看启动失败的服务列表:systemctl --failed
4.2 利用systemctl开机启动supervisor(无法生效)
vi /usr/lib/systemd/system/supervisord.service
写入以下内容:
[Unit]
Description=Supervisor daemon

[Service]
Type=forking
ExecStart=/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf  #根据实际路径填写
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/cdbin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
4.3 简单方法 利用开机执行/etc/rc.loacl内的脚本,实现服务自启
  • 在执行 rc.local 脚本时,PATH 环境变量未全部初始化,命令需使用绝对路径
  • Debian系统: /usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf
  • 查找相关命令的绝对路径:sudo find / -name supervisord

注意:在设置时先直接执行上述命令,判断命令是否正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值