如何配置frp到linux服务器和windows本地,服务端支持自启动

大家好,我是雄雄,如果你觉得文章还不错的话,欢迎在文末点赞和评论。

在这里插入图片描述

前言

最近这段时间都在开发微信服务(公众)号相关技术,对于写了好几年的后端程序的我来说,开发小程序和服务号,刚开始确实有点挑战。不过没办法,项目压在我这里,作为项目的leader,担子我不挑谁挑。

好了,步入正题,微信服务号开发的时候,最大的麻烦处就在于,调试不支持本地调试,项目得部署到服务器上,通过配置的服务器回调地址,才可进行调试。

介此,开发效率大大的降低,而且程序员的经理都浪费到了编译、clean、构建、打包、部署、启动这一系列的操作上,费时又费力。困难是有,但是办法也不是没有,我们可以借助市面上不同的内网穿透工具来解决这个不便。

内网穿透工具

市面上的内网穿透工具,可所谓一搜一大把。
在这里插入图片描述
琳琅满目的商品,我们该如何选择呢?我刚开始也不会选,网上好多人推荐用netapp,于是,我就去看了看。

官方推出了好多方案,免费的收费的都有。并且有人指出免费的不稳定,域名啥的经常换。为了项目的开发稳定,决定拿点真金白银买个付费的吧。结果买完之后配置了下,启动是个空白……

放弃了。

又搜了搜,找到了frp,配置了下,居然可以了。下面我来分享下配置的方法。

frp配置

下载

首先我们需要去官网上下载一下对应的版本,下载地址:这里

在这里插入图片描述
我这边下载了两个,因为一个是本地的windows计算机,另一个是linux服务器上需要用到的。

安装

没啥好安装的,直接找个地方将解压出来的文件拉进去就行,记得要放开文件的执行权限哈,不然会报没有权限的错。

服务器:
在这里插入图片描述
本地计算机:

在这里插入图片描述
这是我所放的地址,你放哪里都没有关系。

注意:

  1. 放开服务器的6000和7000端口
  2. 服务器上权限记得改一下
  3. 服务器上用的是frps的文件,frpc相关的都可以删掉了
  4. 本地用的是frpc的文件,frps的都可以删掉了

修改配置文件

服务器
打开frps.ini文件。默认就一个端口,7000的,改不改都行。

[common]
bind_port = 7000

本地
打开frpc.ini文件,按照下面的格式改:

[common]
server_addr = 你服务器的地址
server_port = 7000[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 你项目的端口,我这边是7890
remote_port = 6000

把内容中的汉字改一下,保存就行。

启动

在服务器中,直接通过终端进入frps所在的路径下,输入:./ frps -c ./frps.ini,直接回车即可。
在本地,也是进入frpc所在的目录下,在地址栏的部分输入:cmd
在这里插入图片描述

然后回车,进去DOS窗口,直接输入命令:frpc -c frpc.ini,回车即可。
在这里插入图片描述

就是这样的,启动成功。

使用 systemd

这一步主要是可以让frpslinux后台启动,不然你的服务器启动窗口一关掉,frps对应的也会关闭,及其不方便。

  1. 安装systemd
    执行:yum install systemd
  2. 在本地创建文件frps.service,写上如下内容:
[Unit]
Description = frps
After = network.target syslog.target
Wants = network.target[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /www/xxx/frps-linuxs/frps -c /www/xxx/frps-linuxs/frps.ini[Install]
WantedBy = multi-user.target

注意:ExecStart 是你的frps文件所在的路径,不要写错了。-c前后有空格。

  1. 将该文件传到服务器的:/etc/systemd/system/目录下。
  2. 现在我们就可以使用systemd 命令来直接管理frps啦,常见命令如下:
# 启动frp
systemctl start frps
# 停止frp
systemctl stop frps
# 重启frp
systemctl restart frps
# 查看frp状态
systemctl status frps
  1. 配置 frps开机自启。
    systemctl enable frps

就这样,就可以啦。欢迎在评论区留言,不错的话,点个赞呗。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

错误代码:88000, 错误信息:without comment privilege hint: [7oJ0533w689] rid: 630432cd-15944cf6-083e04fc

大家好,我是雄雄。 问题复现 这个问题,是我在操作:给微信公众平台上添加图文到草稿箱时,遇到的。 报错信息如下: {"errcode":88000,"errmsg":"without comment privilege hint: [7oJ0533w6…

asp.net core AuthenticationMiddleware 在WebApi中的的使用

在.net framework 4.5架构下使用认证(Authentication)授权(Authorization)。IIS使用HttpModule进行认证(Authentication),我们可以选择自己实现认证方式并在web.config中配置,当然也可以选择IIS默认提供的几…

WebSocket In ASP.NET Core(二)

Introduce上篇博文中,介绍了WebSocket的基本原理,以及一个简单的Demo用来对其有一个大致的认识。这篇博文讲的是我们平常在网站上可能会经常遇到的——实时聊天,本文就是来讲在.NET-Core使用WebSocket来实现一个“乞丐版”的在线实时聊天Demo…

不支持POST请求方法,支持以下GET、

大家好,我是雄雄。 刚刚在用**FeignClient**注解的时候,报了个错,不支持POST请求方法,支持以下GET、。 字面意思上看,好像是让把请求方式从post改成get. 但是,我检查了下我的代码,get提交方式…

P3701 -「伪模板」主席树【网络流,最大流】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP3701 题目大意 给出若干个人的克制关系 给出两边每个人的种类和血量。当两个人pkpkpk后,双方各−1hp-1hp−1hp,同一边的YYYYYYYYY可以给每个同一方的J1hpJ\ 1hpJ 1hp&#xf…

微服务如何实现各个模块之间相互调用

大家好,我是雄雄,现在是:2022年8月23日21:08:53 前言 在做微服务项目时,我们可能都会遇到这样的情况,那就是A服务需要调用B服务中的某个接口,那有这样的需求时,我们应该怎么处理呢? 实现 使用…

2017年秋招美团Java程序员开发,看我如何拿到offer

转载自 2017年秋招美团Java程序员开发,看我如何拿到offer 本人是一名本科毕业非计算机专业的程序员,面了阿里,结果没过,最后面上了美团,热乎乎的面经,昨天面的美团,虽然面完了HR面&#xff0c…

ASP.NET Core 运行原理剖析

1.1. 概述在ASP.NET Core之前,ASP.NET Framework应用程序由IIS加载。Web应用程序的入口点由InetMgr.exe创建并调用托管。以初始化过程中触发HttpApplication.Application_Start()事件。开发人员第一次执行代码的机会是处理Application_StartGlobal.asax中的事件。在…

使用wxJava开发微信服务(公众)号,实现新建素材的功能

大家好,我是雄雄。 前言 微信服务(公众号)号开发,前面已经整理过了几篇文章了,如下: java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密…

经典指针程序互换(一)

#include<stdio.h> huan(int *p,int *q){int t;t*p;*p*q;*qt;}int main(){ int a3,b10; huan(&a,&b);printf("%d %d",a,b); }这里我最疑惑的是不是改变*p的值就改变了a的值&#xff0c;为此&#xff0c;我专门敲了段代码&#xff0c;验证一下 #inclu…

Spring MVC 到底是如何工作的

转载自 Spring MVC 到底是如何工作的 这篇文章将深入探讨Spring框架的一部分——Spring Web MVC的强大功能及其内部工作原理。 这篇文章的源代码可以在GitHub上找到。 项目安装 在本文中&#xff0c;我们将使用最新、最好的Spring Framework 5。我们将重点介绍Spring的经典…

Entity Framework中的字符串插值引发担忧

将内插字符串&#xff08;Interpolated Strings&#xff09;自动地转化为参数化SQL语句&#xff0c;这是Entity Framework Core 2提供的一个新特性。虽然该特性从设计上是为了避免出现SQL语句编写上的问题&#xff0c;但是有人担心这会导致更多的SQL注入攻击。下面给出一个正确…

jeecg-boot集成xxl-job调度平台,每秒/每分钟/手动都能执行成功,但是设置固定时间不触发?

大家好&#xff0c;我是雄雄。 目录 这里写目录标题目录bug说明解决bug的过程解决方法结论今天在用jeecg-boot集成了的xxl-job的时候&#xff0c;遇到了个奇葩的问题&#xff08;其实一点都不奇葩&#xff09;&#xff0c;投入了几个人&#xff0c;一起看这个问题&#xff0c;看…

nssl1156-今天你AK了吗?【康托展开,高精度,二分答案,树状数组】

正题 题目大意 求n个数的全排列的第k个。 解题思路 首先康拓逆展开 ∑ii<nxi(n−i)!\sum^{i<n}_i x_i(n-i)!∑ii<n​xi​(n−i)! 求每个时候第xxx大的数 然后因为n(n−1)!n!n(n-1)!n!n(n−1)!n! so我们可以直接用余数 这是n3n3n3时是序列&#xff0c;我们可以发现我…

指针数组(二)

#include<stdio.h> void f(int *pA,int len){int i;for(i0;i<len;i){printf("%d",*(pAi)); }printf("\n");}main(){int a[5]{1,2,3,4,5};int b[4]{5,4,3,2};f(a,5);f(b,3);} 我想不用指针直接用函数来输出&#xff0c;看下 #include<stdio.h…

use of CGLib-based proxies by setting proxyTargetClass=true on @EnableAsync and/or @EnableCaching

大家好&#xff0c;我是雄雄。 今天在做异步的时候&#xff0c;报了个错&#xff0c;错误信息如下&#xff1a; Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled. 2022-08-25 17:58:30.784 [main] ERRO…

.NET Core 使用RabbitMQ

RabbitMQ简介AMQP&#xff0c;即Advanced Message Queuing Protocol&#xff0c;高级消息队列协议&#xff0c;是应用层协议的一个开放标准&#xff0c;为面向消息的中间件设计。消息中间件主要用于组件之间的解耦&#xff0c;消息的发送者无需知道消息使用者的存在&#xff0c…

冒泡法排序

#include<stdio.h> main(){int i,j,t,a[]{2,5,8,6,15,89,55,46};for(i0;i<7;i){for(j0;j<7-i;j){if(a[j]>a[j1]){ta[j1];a[j1]a[j];a[j]t;} }}for(i0;i<8;i){printf("%d ",a[i]);} } 刚开始还以为敲的有bug&#xff0c;数组里有五六位后排序就…

十分钟快速了解 ES6 Promise

转载自 十分钟快速了解 ES6 Promise 什么是Promise Promise最早由社区提出并实现&#xff0c;典型的一些库有Q&#xff0c;when&#xff0c; bluebird等&#xff1b;它们的出现是为了更好地解决JavaScript中异步编程的问题&#xff0c;传统的异步编程最大的特点就是地狱般的回…

揭示.NET Core和.NET Standard

作为.NET家族的最新成员&#xff0c;有很多关于.NET Core和.NET Standard的误解&#xff0c;以及它们于.NET Framework之间的区别。在这篇文章&#xff0c;我会准确的解释他们究竟是什么&#xff0c;并看看何时应选择哪一个。在详细介绍之前&#xff0c;首先查看.NET的结构图&a…