用云服务器搭建frp服务(超详细)
初学、没有云服务器的时候总想着怎样才能让别人访问到自己的项目。
在查阅了百度,逛过了一些论坛之后,了解到了 内网穿透 这个词。
经过一番钻研,通过 手机 + KSWEB + 电脑 成功将内网服务映射出去了(现在想来在手机上跑服务器有点多此一举)
后来慢慢接触到了更多内网映射的渠道,如樱花frp、浮居frp等等,也充过会员,速度还行。
但是,怎能止步于此,前段时间接触到了用私人云服务器搭建的frp服务,这激起了我的兴趣,经过一番琢磨最终搭建起来了,特此记录
Windows 和 Linux 通用,只是软件版本和命令稍有不同
开始前你得具备以下条件
云服务器 + 大陆境内已备案的域名 + 愿意琢磨(第一次会稍微有一点点绕,其实很简单)
1.下载对应云服务器版本的 frp(frps) 包
我的云服务器版本是 CetenOS 7,这里给出我用到的,其余系统百度下载
frp_0.27.0_linux_amd64.tar 点击下载
2.把 frp 包上传到云服务器,放到自己习惯的目录下(也可解压后通过宝塔面板上传),如下图
不会 传/解压 用就百度,新人用宝塔也方便

3.修改 frps.ini 配置文件
示例:
[common]
# frp服务端口
bind_port = 7000
# 用户连接时的url端口
vhost_http_port = 10000
# 主域名 通过此域名连接(也可用公网IP)
subdomain_host = test.com
dashboard_port = 7500
# 账户
dashboard_user = admin
# 密码
dashboard_pwd = admin123
max_pool_count = 10
# 日志文件位置及名字
log_file = ./frps.log
# 日志级别
log_level = info
# 日志最多记录天数
log_max_days = 3
# token 客户端token需要与此一致
token = testtoken [web01]
# 如果值为http,则必须设置 vhost_http_port
type = http
# 如果代理类型等于http,则必须设置自定义_域,并用逗号分隔
# 例:custom_domains = web01.yourdomain.com,web01.yourdomain2.com
custom_domains = test.com
4.云服务端口放行
步骤3自定义配置好了后
放行frp服务端口(步骤三的 bind_port = 7000)
放行自定义访问端口(步骤三的 vhost_http_port = 10000)

5.添加域名解析
例如你的主域名是 test.com
这里添加解析名为 frp,记录值为云服务器的 公网IP
最终效果是 frp.test.com

6.启动frp服务
先切换到frp的根目录
再用命令 ./frps -c ./frps.ini 启动服务
(上面是相对路径,也可不切换路径,直接在启动命令中用绝对路径)
此种方式启动服务后不能关闭命令窗口,命令窗口关闭后服务也会关闭
挂后台方式参考 步骤13

7. 至此,云服务器端配置全部完成!!!
只有最后几个步骤了,马上完工!
8.客户端下载 frpc 包(不是frps包)
我的系统是 Win10,所以用Windows对应的 frpc包
这里给出我用到的,其余系统百度下载
frpc_0.29.0_windows_amd64 点击下载
下载好 frpc包后将文件解压到C盘以外的其它盘(一般文件不建议放C盘)
示例:在E盘根目录新建一个名为 frpc的文件夹,将frpc包解压在里面
如图:

9.配置 frpc.ini
windows下双击打开 frpc.ini
左侧是云服务器的frps配置,供对照
右侧是客户端的frpc配置,这才是我们要设置的地方
1.local_ip 是要映射服务所在的主机ip,如果和fprc在同一电脑可用127.0.0.1(一般都是),不是的话要用对应ip地址
2.local_port 是我们的服务端口,比如SpringBoot程序或者Tomcat的端口是8080就填8080
3.右侧自定义域名与 步骤5 的解析一致(配置文件第6行和第10行请保持一致,防止多客户端冲突)

10.万事俱备,检查一遍
1.至此配置都完成了,检查一遍以上步骤是否有遗漏或者错误配置
2.确保云服务器 frps 处于运行状态 (./frps -c ./frps.ini 执行后不能关闭命令界面,否则会停止服务。挂后台方式参考 步骤13)
3.确保本地 frpc 处于启动状态,Windows下启动后cmd窗口不能关(Windows下双击.bat文件启动,不能直接点 frpc.exe)
4.确保要映射的端口处于运行状态(如映射Tomcat请确保Tomcat处于运行状态)
11.启动内网映射
在确保以上步骤无误后
以Windows为例,双击 frpc.bat 启动映射服务(Windows客户端挂后台方式参考百度)
如下图,提示success且光标处于待定状态便是启动成功了

12.访问服务
此前配置如下(参考 步骤3 和 步骤9):
主域名:test.com
解析值:frp
访问端口:10000
映射类型:http
合并起来就是:http://frp.test.com:10000
外网即可通过以上链接访问我们映射出来的服务
13.frps 服务挂后台运行
以 Linux 为例,在目录 /etc/systemd/system 下新建文件名为 frps.service 的文件(Windows参考百度)
说明: ExecStart = frps.exe所在的目录/frps -c frps.ini所在的目录/frps.ini
内容如下:
[Unit]
Description=Frp Server Service
After=network.target [Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/frp_0.27.0_linux_amd64/frps -c /home/frp_0.27.0_linux_amd64/frps.ini [Install]
WantedBy=multi-user.target
文件新建好后用以下命令控制(Linux的客户端也是此命令,把 frps 改成 frpc 即可):
systemctl enable frps #设置开机启动
systemctl start frps #启动
systemctl stop frps #停止
systemctl status frps #状态
其它:多个客户端使用映射
我们只需要在 步骤五 给每个不同客户端添加一个解析值就可以了
如 frp, frp2, frp3
不同客户端的配置文件里对应解析域名分别填上frp, frp2, frp3
最终访问的url就是:
http://frp.test.com:10000
http://frp2.test.com:10000
http://frp3.test.com:10000
转载请附上原文链接
用云服务器搭建frp服务(超详细)的更多相关文章
- Linux云服务器下Tomcat部署超详细
基于阿里云Centos 7服务器的Tomcat 项目部署 工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位) Putty ssh远程连接云服务器的软件 FileZillaCli ...
- 如何使用windows云服务器搭建IIs、windows服务
如何使用windows云服务器搭建IIs.windows服务,以下针对腾讯云服务器进行说明 1.购买云服务器之后,第1步需要设置的是,找到重装系统.重置密码等处. 2.设置安全组,设置完安全组之后才能 ...
- 阿里云服务器搭建SVN
简单步骤介绍 1:安装svn apt-get install subversion 2. 开启svn服务器 svnserve -d 检查是否开启:ps aux | grep svnserve 若出现如 ...
- 基于腾讯Centos7云服务器搭建SVN版本控制库
基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...
- 使用三台云服务器搭建真正的Redis集群
三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...
- 阿里云服务器搭建Docker版AWVS
本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...
- centos7+腾讯云服务器搭建wordpress
title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...
- 阿里云服务器搭建vulhub靶场
阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...
- Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)
该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...
- 阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问
阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问
随机推荐
- 集训队互测2016Unknown(UOJ191)
题目链接 前面部分和lzz的题解是一样的. 首先将输入点(x,y)变为(-y,x)然后,只需找一个向量与(-y,x)的点积最大,即找一个向量在(-y,x)上的投影最长.此时所有的点都是在x轴上方的,容 ...
- 【做题笔记】CSP-S 往年试题
题单 本文章正在持续更新-- [2021] 廊桥分配 题目 题面描述 所有飞机分为两类--国内区和国际区,两区廊桥数量互不干扰.每架飞机遵循"先到先得"的原则,优先选择编号最小的廊 ...
- 【第1篇】人工智能(AI)语音测试原理和实践---宣传
前言 本文主要介绍作者关于人工智能(AI)语音测试的各方面知识点和实战技术. 本书共分为9章,第1.2章详细介绍人工智能(AI)语音测试各种知识点和人工智能(AI)语音交互原理:第3.4章介绍人工智 ...
- 4.Future对象
asyncio.Future对象 Future是Task类的基类 Task对象内部await结果的处理是基于Future对象来的 async def main(): # 获取当前事件循环 loop = ...
- Oracle中查询表结构的六种方法
首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247485212&idx=1 ...
- 【lwip】09-IPv4协议&超全源码实现分析
目录 前言 9.1 IP协议简述 9.2 IP地址分类 9.2.1 私有地址 9.2.2 受限广播地址 9.2.3 直接广播地址 9.2.4 多播地址 9.2.5 环回地址 9.2.6 本地链路地址 ...
- .NET周报【11月第1期 2022-11-07】
国内文章 开源·安全·赋能 - .NET Conf China 2022 https://mp.weixin.qq.com/s/_tYpfPeQgyEGsnR4vVLzHg .NET Conf Chi ...
- springcloud组件梳理之hystrix
在微服务架构体系中,各服务中间的相互调用是常态,没有哪个服务能保证自身百分百不会出问题,然后再加上网络的波动以及环境等问题,服务间调用的稳定性无法保证,这时候就需要一个有容错能力的组件来介入,当调用出 ...
- docker支持ipv6
方法 方法一.Pv6地址 不为容器中的服务特别分配IPv6地址. 只要Docker把外部的IPv6地址端口映射到容器的IPv4端口上,随后访问主机的IPv6相应端口即可. 方法二.为Docker网络分 ...
- 【lwip】11-UDP协议&源码分析
目录 前言 11.1 传输层说明 11.2 UDP协议简介 11.3 UDP特点 11.4 UDP端口号 11.5 UDP报文 11.6 UDP伪首部和校验和 11.7 wireshark报文分析 1 ...