[关闭]
@w460461339 2020-04-16T18:41:05.000000Z 字数 2665 阅读 1500

Cpolar远程访问

微众银行


0、需求

1、基本配置

https://www.cpolar.com/

2、开机启动方案

目前发现,并不是所有机器都能有rc.local文件(linux自己的开机启动文件(起码我没找到)),所以使用如下方法:

2.1 supervisor安装

安装

  1. sudo apt-get install supervisor

修改配置文件: /etc/supervisor/supervisord.conf

  1. ; supervisor config file
  2. [unix_http_server]
  3. file=/var/run/supervisor.sock ; (the path to the socket file)
  4. chmod=0700 ; sockef file mode (default 0700)
  5. [supervisord]
  6. logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
  7. pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
  8. childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
  9. ; the below section must remain in the config file for RPC
  10. ; (supervisorctl/web interface) to work, additional interfaces may be
  11. ; added by defining them in separate rpcinterface: sections
  12. [rpcinterface:supervisor]
  13. supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
  14. [supervisorctl]
  15. serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
  16. ; The [include] section can just contain the "files" setting. This
  17. ; setting can list multiple files (separated by whitespace or
  18. ; newlines). It can also contain wildcards. The filenames are
  19. ; interpreted as relative to this file. Included files *cannot*
  20. ; include files themselves.
  21. [include] # 在这个下面指定自己的配置文件的地址
  22. #files = /etc/supervisor/conf.d/*.conf
  23. files = /home/nano/04_supervisor_conf/*.conf
2.2 cpolar配置

【基础安装】https://www.cpolar.com/
按照上面的链接进行安装cpolar并测试完成之后,再按照下面的链接配置yml。
【群辉开机自启动】https://www.cpolar.com/blog/how-to-make-cpolar-boot-from-the-synology-nas

如果上面的服务能够满足要求,那么不用管下面的了,如果不行,再往下看。

2.3 cpolar+supervisor

直接利用supervisor来启动cpolar服务貌似是行不通的【我当时尝试是这样的,可以自行实验】,因此这里通过:

0、supervisor管理python脚本
1、python脚本调用sh脚本
2、sh脚本调用cpolar服务
3、cpolar服务通过nohup+yml文件来实现。

的方法来实现。

2.3.1 nohup下的cpolar服务+yml文件

【yml文件】
/home/【username】/.cpolar/cpolar.yml

  1. authtoken: 【你自己的token
  2. tunnels:
  3. ssh_tunnel:
  4. proto: tcp
  5. addr: "22"

【nohup指令】

  1. nohup /home/nano/03_remote_control/cpolar start-all -config=/home/nano/.cpolar/cpolar.yml -log=stdout &

验证方式

  1. ps -aux|grep cpolar # 发现cpolar进程存在

其他机器通过ssh可以远程访问宿主机。

2.3.2 sh脚本调用cpolar服务

【sh脚本】

  1. #! /bin/bash
  2. nohup /home/nano/03_remote_control/cpolar start-all -config=/home/nano/.cpolar/cpolar.yml -log=stdout &

【记得先把之前nohup开启的服务关了】
验证方式

  1. ps -aux|grep cpolar # 发现cpolar进程存在

其他机器通过ssh可以远程访问宿主机。

2.3.3 python调用sh脚本

【python脚本】

  1. # -*- coding=utf-8
  2. import os
  3. import time
  4. os.system('sh ./start.sh')
  5. while True:
  6. #os.system('sh ./start.sh ')
  7. res = os.popen('ps -aux|grep cpolar').read()
  8. print(res)
  9. res_list = res.split('\n')
  10. temp_flag = False
  11. for temp_res in res_list:
  12. if 'tcp' in temp_res:
  13. temp_flag = True
  14. break
  15. if temp_flag:
  16. break
2.3.4 supervisor配置文件
  1. [program:everyday_cpolar]
  2. command=sudo python3 -u remote.py
  3. directory=/home/nano/03_remote_control/
  4. user=nano
  5. autorestart=true
  6. autostart=true
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注