初学、没有云服务器的时候总想着怎样才能让别人访问到自己的项目。

在查阅了百度,逛过了一些论坛之后,了解到了 内网穿透 这个词。

经过一番钻研,通过 手机 + KSWEB + 电脑 成功将内网服务映射出去了(现在想来在手机上跑服务器有点多此一举)

后来慢慢接触到了更多内网映射的渠道,如樱花frp、浮居frp等等,也充过会员,速度还行。

但是,怎能止步于此,前段时间接触到了用私人云服务器搭建的frp服务,这激起了我的兴趣,经过一番琢磨最终搭建起来了,特此记录

WindowsLinux 通用,只是软件版本和命令稍有不同

开始前你得具备以下条件

云服务器 + 大陆境内已备案的域名 + 愿意琢磨(第一次会稍微有一点点绕,其实很简单)

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服务(超详细)的更多相关文章

  1. Linux云服务器下Tomcat部署超详细

    基于阿里云Centos 7服务器的Tomcat 项目部署 工具:一台安装jdk1.8的Centos 6/7.X 云服务器(64位) Putty  ssh远程连接云服务器的软件 FileZillaCli ...

  2. 如何使用windows云服务器搭建IIs、windows服务

    如何使用windows云服务器搭建IIs.windows服务,以下针对腾讯云服务器进行说明 1.购买云服务器之后,第1步需要设置的是,找到重装系统.重置密码等处. 2.设置安全组,设置完安全组之后才能 ...

  3. 阿里云服务器搭建SVN

    简单步骤介绍 1:安装svn apt-get install subversion 2. 开启svn服务器 svnserve -d 检查是否开启:ps aux | grep svnserve 若出现如 ...

  4. 基于腾讯Centos7云服务器搭建SVN版本控制库

    基于腾讯Centos7云服务器搭建SVN版本控制库 最近在和小伙伴组队参加一个关于人工智能的比赛,无奈不知道怎么处理好每个人的代码托管问题,于是找到了晚上免费svn托管服务器的服务,但是所给的免费空间 ...

  5. 使用三台云服务器搭建真正的Redis集群

    三台云服务器搭建redis集群# 今天花了一天的时间弄集群redis:遇到了很多坑,从头开始吧 环境讲解: 两台配置:1核2G,另一台:1核1G: 操作系统:Centos 7.6 Redis:3.2. ...

  6. 阿里云服务器搭建Docker版AWVS

    本文严重参考该文章:https://www.sqlsec.com/2020/04/awvs.html 阿里云服务器搭建Docker版AWVS,因为之前有使用Docker的经验,所以本文只是简述一下安装 ...

  7. centos7+腾讯云服务器搭建wordpress

    title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...

  8. 阿里云服务器搭建vulhub靶场

    阿里云服务器搭建vulhub靶场 环境 服务器:阿里云服务器 系统:centos7 应用:vulhub 步骤 vulhub需要依赖docker搭建,首先安装docker. 使用以下方法之一: # cu ...

  9. Hadoop集群搭建:用三台云服务器搭建HA集群(过程记录和分享)

    该文主要记录了自己用云服务器搭建集群的过程,也分享一些自己遇到的问题和解决方法.里面可能提及一些自己的理解,可能不够准确,希望大家能够指正我,谢谢. 1.什么是HA集群 HA :High Availa ...

  10. 阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问

    阿里云服务器 - node启动服务的时候只有监听内网IP才可以供外网访问

随机推荐

  1. JVM中的堆

    堆 内存结构 堆的核心概念 <java虚拟机规范>中对java堆的描述是:所有的对象实例以及数组都应当在运行时分配在堆上. 一个JVM实例只存在一个堆内存(就是new 出来一个对象),ja ...

  2. LeetCode------递归(爬楼梯)

    1.递归 1.一个问题的解可以分解为几个子问题的解. 2.这个问题与分解之后的子问题,除了数据规模不同,求解思路完全一样 3.存在基线/终止条件 来源:力扣(LeetCode) 链接:https:// ...

  3. Magnet: Push-based Shuffle Service for Large-scale Data Processing

    本文是阅读 LinkedIn 公司2020年发表的论文 Magnet: Push-based Shuffle Service for Large-scale Data Processing 一点笔记. ...

  4. linux重置密码

    方法一: 进入grub菜单界面 按e键 在linux开头的行按ctrl+e 或者end跳到行尾,输入rd.break 按ctrl+x mount -o remount,rw /sysroot chro ...

  5. 二叉搜索树 - C++ 实现

    二叉搜索树 - C++ 实现 概述 Overview 二叉查找树(英语:Binary Search Tree, 后文中简称 BST), 也称为二叉搜索树.有序二叉树(ordered binary tr ...

  6. 基于SqlSugar的开发框架循序渐进介绍(22)-- Vue3+TypeScript的前端工作流模块中实现统一的表单编辑和表单详情查看处理

    在工作流页面中,除了特定的业务表单信息外,往往也需要同时展示通用申请单的相关信息,因此在页面设计的时候需要使用一些组件化的概念来实现动态的内容展示处理,本篇随笔介绍Vue3+TypeScript+El ...

  7. HTTPS详解一

    前言 作为一个有追求的程序员,了解行业发展趋势和扩充自己的计算机知识储备都是很有必要的,特别是一些计算机基础方面的内容,就比如本篇文章要讲的计算机网络方面的知识.本文将为大家详细梳理一下 HTTPS ...

  8. 图解S.O.L.I.D原则

    如果您熟悉面向对象的编程,那么您可能已经听说过SOLID原理. 这五项软件开发原则是构建软件时要遵循的准则,以便于扩展和维护. 它们受到软件工程师Robert C. Martin的欢迎. 在线上有很多 ...

  9. WSL优化之SSH远程登录篇

    Some of the most devastating things that happen to you will teach you the most. 有些最打击你的事情反而教会你的东西越多. ...

  10. 基于python的数学建模---洛伦兹线与数值解

    import numpy as np from scipy.integrate import odeint from mpl_toolkits.mplot3d import Axes3D import ...