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

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

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

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

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

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

开始前你得具备以下条件

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

1.下载对应云服务器版本的 frp(frps) 包

 我的云服务器版本是 CetenOS 7,这里给出我用到的,其余系统百度下载

 frp_0.27.0_linux_amd64.tar 点击下载

2.把 frp 包上传到云服务器,放到自己习惯的目录下(也可解压后通过宝塔面板上传),如下图

 不会 传/解压 用就百度,新人用宝塔也方便

3.修改 frps.ini 配置文件

示例:

  1. [common]
  2. # frp服务端口
  3. bind_port = 7000
  4. # 用户连接时的url端口
  5. vhost_http_port = 10000
  6. # 主域名 通过此域名连接(也可用公网IP)
  7. subdomain_host = test.com
  8. dashboard_port = 7500
  9. # 账户
  10. dashboard_user = admin
  11. # 密码
  12. dashboard_pwd = admin123
  13. max_pool_count = 10
  14. # 日志文件位置及名字
  15. log_file = ./frps.log
  16. # 日志级别
  17. log_level = info
  18. # 日志最多记录天数
  19. log_max_days = 3
  20. # token 客户端token需要与此一致
  21. token = testtoken
  22.  
  23. [web01]
  24. # 如果值为http,则必须设置 vhost_http_port
  25. type = http
  26. # 如果代理类型等于http,则必须设置自定义_域,并用逗号分隔
  27. # 例:custom_domains = web01.yourdomain.com,web01.yourdomain2.com
  28. 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

内容如下:

  1. [Unit]
  2. Description=Frp Server Service
  3. After=network.target
  4.  
  5. [Service]
  6. Type=simple
  7. User=nobody
  8. Restart=on-failure
  9. RestartSec=5s
  10. ExecStart=/home/frp_0.27.0_linux_amd64/frps -c /home/frp_0.27.0_linux_amd64/frps.ini
  11.  
  12. [Install]
  13. WantedBy=multi-user.target

文件新建好后用以下命令控制(Linux的客户端也是此命令,把 frps 改成 frpc 即可):

  1. systemctl enable frps #设置开机启动
  2. systemctl start frps #启动
  3. systemctl stop frps #停止
  4. 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. Dapr v1.9.0 版本已发布

    Dapr是一套开源.可移植的事件驱动型运行时,允许开发人员轻松立足云端与边缘位置运行弹性.微服务.无状态以及有状态等应用程序类型.Dapr能够确保开发人员专注于编写业务逻辑,而不必分神于解决分布式系统 ...

  2. python django搭建一个简易博客的解析(按照文件顺序逐一讲解)

    上次讲解了一下各py文件的内容,但比较乱,所以这次整理了一个顺序版. 源代码请在http://github/Cheng0829/mysite自行下载 mysite: db.sqlite3:数据库文件. ...

  3. Python 根据两个字段排序 中文排序 汉字排序 升序 降序

    Python3写法 代码 # -*- coding: utf-8 -*- # 需求:年龄倒序,姓名正序 from itertools import chain from pypinyin import ...

  4. 8.gitlab服务器搭建(基于centos7)

    gitlab服务硬件要求 建议服务器最低配置:2核 2G以上内存(不包含2GB,2GB内存运行的时候内存直接爆掉) 官网给出的推荐配置:4核 4GB内存 支持500个用户,8核 8GB内存 支持100 ...

  5. 每日算法3:随机生成五个不同整数,将数字转换为RMB格式

    随机生成五个不同整数 点击查看代码 /* 题目解析: 1.采用Math对象的random()方法, 2.将每次生成的数跟之前的数判断相等则此次生成无效i-- */ function randomNum ...

  6. 【Azure 环境】把OpenSSL生产的自签名证书导入到Azure Key Vault Certificate中报错

    问题描述 通过本地生成的自签名证书导入到Azure Key Vault Certificate报错. 错误信息 the specified PEM X.509 certificate content ...

  7. 写一个shell,自动执行jmeter测试脚本

    贡献一个自己写的shell脚本,很简单,但又可以高效率的自动执行jmeter压测脚本. #!/bin/bash #author:zhangyl #version:V1 #该脚本放置于压测脚本的上一层目 ...

  8. Webpack前端源码泄露漏洞

    什么是Webpack? webpack是一个打包器(bundler),它能将多个js.css.json等文件打包成一个文件.这样可以使复杂的各种加载文件集合为整合为单一的集合,让代码更加模块化便于编程 ...

  9. php 高并发

    1 swoole的博客 http://rango.swoole.com/archives/508 2 消息队列 3 接口并发请求

  10. IIS部署WebApi跨域不生效

    在IIS8.5上部署了WebApi程序,但是跨域不生效检查了前端和后端都没有问题. 后面才发现在应用程序池中需要设置为集成模式.经典模式下不能正常使用