前提条件
一台有公网IP的服务器
Frp介绍
frp 是一个开源、简洁易用、高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议。frp 项目官网是 github.com/fatedier/fr…
frp工作原理
服务端运行,监听一个主端口,等待客户端的连接;
客户端连接到服务端的主端口,同时告诉服务端要监听的端口和转发类型;
服务端fork新的进程监听客户端指定的端口;
外网用户连接到客户端指定的端口,服务端通过和客户端的连接将数据转发到客户端;
客户端进程再将数据转发到本地服务,从而实现内网对外暴露服务的能力。
2.1 服务端配置
下载frp库
linux版:阿里网盘
内网穿透 www.aliyundrive.com/s/BDc125gUd… 提取码: yj03
解压frp压缩包修改配置文件
tar -zxvf frp_0.48.0_linux_amd64.tar.gz
vi frps.ini
[common]
bind_port = 7000(默认端口可修改 与客户端保持一致)
vhost_http_port = 9000(需要内穿的端口)
token = 12345678(自定义 客户端和服务端保持一致)
#修改配置完毕后重启
./frps -c frps.ini
#重启可能会出现端口占用的情况
使用命令 losf -i:端口号 查找被占用端口
kill -9 pid 干点进程 在进行重启就好
复制代码
2.2 客户端配置
同样的压缩包进行解压/修改配置文件
tar -zxvf frp_0.48.0_linux_amd64.tar.gz
vi frpc.ini
[common]
server_addr = *.*.*.*(服务端IP)
server_port = 7000 (自定义 需要和服务端对应)
token = 12345678 (自定义 需要和服务端对应)
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[portainer]
type = http
local_ip = 127.0.0.1
local_port = 9000 (需要内穿的端口)
custom_domains = (服务端IP)
[rocketMq_consle]
type = http
local_ip = 127.0.0.1
local_port = 9001
custom_domains = 服务端IP
复制代码
#可以配置多个
#[名称不可重复]
#修改配置完毕后重启
./frps -c frps.ini
#重启可能会出现端口占用的情况
使用命令 losf -i:端口号 查找被占用端口
kill -9 pid 干点进程 在进行重启就好
配置开机自启动
Linux 系统下,使用systemd 可以方便地控制 frp 服务端 frps 的启动和停止、配置后台运行和开启自启。
要使用 systemd 来控制 frps,需要先安装 systemd,然后在 /etc/systemd/system 目录下创建一个 frps.service 文件。
如Linux服务端上没有安装 systemd,可以使用 yum 或 apt 等命令安装 systemd。
yum下载
yum install systemd
复制代码
apt下载
apt install systemd
复制代码
使用文本编辑器,如 vim 创建并编辑 frps.service 文件。
写入内容
vim /etc/systemd/system/frps.service
复制代码
服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
复制代码
启动frps的命令,需修改为您的frps的安装路径
ExecStart = /path/to/frps -c /path/to/frps.ini
[Install]
WantedBy = multi-user.target
使用 systemd 命令,管理 frps。
复制代码
启动frp
systemctl start frps
复制代码
停止frp
systemctl stop frps
复制代码
重启frp
systemctl restart frps
复制代码
查看frp状态
systemctl status frps
复制代码
配置 frps 开机自启。
systemctl enable frps
复制代码
配置后如果访问不到 去云服务器看看对应的端口是否开放
作者:用户9116220870899
链接:https://juejin.cn/post/7209578803160170556
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
创建frps.service
sudo vim /lib/systemd/system/frps.service
在frps.service里写入以下内容
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/你的绝对值地址/frps -c /你的绝对值地址/frps.ini
[Install]
WantedBy=multi-user.target
然后就启动frps
sudo systemctl start frps
再打开自启动
sudo systemctl enable frps
如果要重启应用,可以这样,sudo systemctl restart frps
如果要停止应用,可以输入,sudo systemctl stop frps
如果要查看应用的日志,可以输入,sudo systemctl status frps
客户端一键复制粘贴:
sudo vim /lib/systemd/system/frpc.service
在frps.service里写入以下内容
[Unit]
Description=fraps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/你的绝对值地址/frpc -c /你的绝对值地址/frpc.ini
[Install]
WantedBy=multi-user.target
然后就启动frpc
sudo systemctl start frpc
再打开自启动
sudo systemctl enable frpc
如果要重启应用,可以这样sudo systemctl restart frpc
如果要停止应用,可以输入sudo systemctl stop frpc
如果要查看应用的日志,可以输入sudo systemctl status frpc