准备工作

准备一台具有公网IP的服务器

下载frp

下载地址:https://github.com/fatedier/frp/releases

image-20220616225414026

服务端配置

注:服务端是具有公网ip的机器

  1. 解压下载好的压缩包

    1
    tar -zxvf frp_0.43.0_linux_amd64.tar.gz
  2. 进入解压后的目录,修改frps.ini文件,具体内容如下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    [common]
    # frp监听的端口,默认是7000,可以改成其他的
    bind_port = 7000
    # 授权码,请改成更复杂的
    # 这个token之后在客户端会用到
    token = admin

    # frp管理后台端口,请按自己需求更改
    dashboard_port = 7001
    # frp管理后台用户名和密码,请改成自己的
    dashboard_user = admin
    dashboard_pwd = admin
    enable_prometheus = true

    # frp日志配置
    log_file = ./log/frps.log
    log_level = info
    log_max_days = 3
  3. 创建日志文件夹和创建日志文件

    1
    2
    3
    4
    5
    mkdir log

    cd log

    touch frps.log
  4. 前台启动

    1
    2
    3
    4
    5
    6
    7
    8
    9
    前台启动
    ./frps -c frps.ini

    如果日志文件中出现以下内容,则启动成功
    2019/01/12 15:22:39 [I] [service.go:130] frps tcp listen on 0.0.0.0:7000
    2019/01/12 15:22:39 [I] [service.go:172] http service listen on 0.0.0.0:10080
    2019/01/12 15:22:39 [I] [service.go:193] https service listen on 0.0.0.0:10443
    2019/01/12 15:22:39 [I] [service.go:216] Dashboard listen on 0.0.0.0:7500
    2019/01/12 15:22:39 [I] [root.go:210] Start frps success
  5. 后台启动

    1
    2
    3
    nohup ./frps -c frps.ini &

    日志文件会输出到nohup.out中,直接使用cat nohup.out查看即可

客户端配置

  1. 修改配置文件frpc.ini

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 客户端配置
    [common]
    server_addr = 192.168.0.10
    # 与frps.ini的bind_port一致
    server_port = 7000
    # 这个token之后在客户端会用到
    token = u0NAHKRXKYVzM)w8MW6DS@h2hxDgGzI*OmczdSiq0^!7p7%eSZ(A@

    # 配置ssh服务
    #[ssh]
    #type = tcp
    #local_ip = 127.0.0.1
    #local_port = 22
    #remote_port = 6000 # 这个自定义,之后再ssh连接的时候要用

    # 配置http服务,可用于小程序开发、远程调试等,如果没有可以不写下面的
    [web]
    type = http
    local_ip = 127.0.0.1
    local_port = 80
    # web域名
    # custom_domains = frp.xiaofei.com
    # 自定义的远程服务器端口,例如8088
    remote_port = 8088
  2. 前台启动

    1
    ./frpc -c frpc.ini

linux下查看进程号并杀死进程

  1. 查看进程号:使用 lsof -i:端口号查看进程号(当知道端口号的时候),比如查看1500端口的进程号:

    1
    lsof -i:1500
  2. 当系统不支持lsof时,可以使用netstat

    1
    netstat -ntlp | grep [port]
  3. 当不知道端口号,但是知道程序名称时,使用ps aux查看

    1
    ps -aux | grep nginx
  4. 查看到进程号之后,杀死进程

    1
    kill -9