以下以Centos7作为示例

安装frp

frp官方githup地址:https://github.com/fatedier/frp

frp分为两端,服务端和客户端,两端用一个版本,而且需要公网ip

服务端配置(含有公网ip的服务器)

#解压文件
sudo tar  -xzvf frp_0.34.3_linux_amd64.tar.gz

#切换至目标目录
cd frp_0.34.3_linux_amd64/

#删除客户端的配置
sudo rm -rf frpc*

#修改配置
sudo vim frps.ini

#删除里面的内容,拷贝以下内容
#bind_port frp服务启动占用的端口,可以自定义,注意防火墙,及云平台的防火墙
#token类似密码
[common]
bind_port = 5000
token = xxxxx

#保存退出
:wq

客户端端配置(内网服务器)

#解压文件
sudo tar  -xzvf frp_0.34.3_linux_amd64.tar.gz

#切换至目标目录
cd frp_0.34.3_linux_amd64/

#删除服务端的配置
sudo rm -rf frps*

#修改配置
sudo vim frpc.ini

#删除里面的内容,拷贝以下内容
#server_addr 服务端部署服务器的ip
#server_port 服务端暴露的端口
#token 服务端设置的秘钥
#[ssh] 自己为服务起一个名字
#local_port 客户端应用端口
#remote_port 客户端服务对应服务端的端口,注意防火墙,及云平台的防火墙

[common]
server_addr = xx.xx.xxx.xxx
server_port = 7000
token = 123456

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7000

#保存退出
:wq

新增service服务

服务端

  1. 登录服务端服务器
# 切换至如下目录
sudo cd /etc/systemd/system

2.创建service

sudo touch frp.service

# 编辑文件
sudo vim frp.service

# 拷贝以下内容
# ExecStart使用绝对路径,我的frp服务放在/usr/local/software/下的,根据自己服务位置修改
[Unit]
Description=frp-auto
After=network-online-target
  
[Service]
Type=simple
ExecStart=/usr/local/software/frp/frps -c /usr/local/software/frp/frps.ini
Restaer=on-failure
  
[Install]
WantedBy=multi-user.target

# 保存退出
:wq

#添加执行权限
sudo chmod +x frp.service

# 重启systemctl服务
sudo  systemctl daemon-reload

# 启动frp服务
sudo systemctl start frp

#查看状态
sudo systemctl status frp

展示如下就是安装配置好了
image.png

如果报错

image.png
替换After值为network.target,然后依次执行sudo systemctl stop frp,sudo systemctl daemon-reload,sudo systemctl start frp

客户端

客户端与服务端类似,只是ExecStart不同,frps改成frpc,路径根据实际情况填写绝对路径

ExecStart=/usr/local/software/frp/frpc -c /usr/local/software/frp/frpc.ini