frp-内网穿透部署-ubuntu22服务器-windows server-详细教程
文章目录
- 1.下载frp
- 2.配置服务器
- 2.1.配置frps.ini文件
- 2.2.设置服务文件
- 2.3.设置开机自启和服务操作
- 2.4.后台验证
- 2.5.服务器重启
- 3.配置本地window
- 3.1.frpc配置
- 3.2.添加开机计划启动
- 3.3.控制台启动隐藏窗口
- 4.centos防火墙和端口
- 3.1.开放端口
- 3.2.查看端口
- 5.关闭进程
- 5.1.杀死进程
- 5.2.强制杀死进程
- 6.查看服务
- 7.总结
FRP是一个开源、简洁易用,高性能的内网穿透和反向代理软件,支持tcp、upp、http、https等协议。
1.下载frp
可以去官网下载最新的frp编译好的文件,本文采用frp_0.32.1_windows_amd64版本。也可以在csdn下载。
2.配置服务器
连接ubuntu22服务器,并创建新目录:
/usr/local/frp
将frp_0.32.1_windows_amd64.tar.gz上传至/usr/local/frp目录。
将文件解压。
tar -xvf frp_0.32.1_windows_amd64.tar.gz
mv frp_0.32.1_windows_amd64/* /usr/local/frp/
删除frpc.ini和frpc文件。
cd /usr/local/frp/
rm frpc.ini
rm frpc
2.1.配置frps.ini文件
[common]
bind_addr = 0.0.0.0
# frp监听的端口,默认是7000
bind_port = 7000
# 代理端口一定要设置,否则无法使用http
vhost_http_port = 7001
# 授权码
token = B42D0624-7D18# frp管理后台端口
dashboard_port = 6500
# frp管理后台用户名和密码
dashboard_user = admin
dashboard_pwd = admin@7D18
enable_prometheus = true# frp日志配置
log_file = log.log
log_level = info
log_max_days = 3# 域名访问配置
privilege_mode = true
配置和启动frp。
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
2.2.设置服务文件
vim /usr/lib/systemd/system/frps.service
内容如下:
[Unit]
Description=frp Service
After=rc-local.service nss-user-lookup.target[Service]
Type=forking
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini[Install]
WantedBy=multi-user.target
2.3.设置开机自启和服务操作
开机启动
sudo systemctl daemon-reload
sudo systemctl enable frps
服务编辑
sudo systemctl start frps
sudo systemctl stop frps
sudo systemctl status frpsnetstat -tunlp #查看端口
2.4.后台验证
在浏览器输入服务器后台网址
http://152.136.196.35:6500
如下图所示,则表示服务器配置成功。


2.5.服务器重启
shutdown -r now
3.配置本地window
3.1.frpc配置
frpc.ini文件配置如下
[common]
server_addr = 152.136.196.35
server_port = 7000
#与服务器端的令牌一致
token = B42D0624-7D18# 配置tcp服务,用于ip访问
[web1]
type = tcp
local_ip = 127.0.0.1
#本地端口
local_port = 188
#服务器端口
remote_port = 188[web2]
type = tcp
local_ip = 127.0.0.1
#本地端口
local_port = 80
#服务器端口
remote_port = 80
按照命令启动客户端软件:
frpc -c frpc.ini
提示如下表示成功,如下图所示:

3.2.添加开机计划启动
a.启动文件夹
将系统下可以直接双击就可以启动的可执行文件或者创建快捷方式放在此文件夹中。
文件夹寻找方式:
①win+r 打开运行窗口,输入shell:startup,打开了用户启动文件夹。
②C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup,打开系统启动文件夹。
b.任务计划
首先,我的电脑,右键管理,选择任务计划程序。


然后,新建计划,输入计划名称,触发器选择当用户登录时。不要选系统启动。操作选择目标程序,可以是exe文件,也可以bat脚本文件。最后点击完成。重启一下系统测试是否正常工作。


3.3.控制台启动隐藏窗口
第一种方法,在bat文件前添加代码:
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
第二种方法,采用vbs脚本启动:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c C:\frpc\start-frpc.bat",vbhide
注意:第一种不能和第二种不能同时使用。
4.centos防火墙和端口
开启防火墙。
systemctl start firewalldsystemctl start firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
3.1.开放端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
3.2.查看端口
netstat -tunlp | grep 6500
5.关闭进程
查看指定进程名称pid
ps -ef | grep frps
5.1.杀死进程
kill pid
kill 12345
5.2.强制杀死进程
kill -KILL pid
kill -KILL 123456
6.查看服务
使用systemctl命令查看所有已启动的服务:
systemctl list-units --type=service --state=running
使用service命令查看正在运行的服务:
service --status-all
使用ps命令结合grep过滤器来查看正在运行的服务进程:
ps aux | grep [s]ervice
ps aux | grep frps
7.总结
这套系统完整的运行,坑还是挺多的,需要不断的总结。
相关文章:
frp-内网穿透部署-ubuntu22服务器-windows server-详细教程
文章目录 1.下载frp2.配置服务器2.1.配置frps.ini文件2.2.设置服务文件2.3.设置开机自启和服务操作2.4.后台验证2.5.服务器重启 3.配置本地window3.1.frpc配置3.2.添加开机计划启动3.3.控制台启动隐藏窗口 4.centos防火墙和端口3.1.开放端口3.2.查看端口 5.关闭进程5.1.杀死进程…...
MySQL内存使用的监控开关和使用查看
参考文档: https://brands.cnblogs.com/tencentcloud/p/11151 https://www.cnblogs.com/grasp/p/10306697.html MySQL如何使用内存 在MySQL中,内存占用主要包括以下几部分,全局共享的内存、线程独占的内存、内存分配器占用的内存࿰…...
数据库管理-第113期 Oracle Exadata 04-硬件选择(20231020)
数据库管理-第113期 Oracle Exadata 04-硬件选择(2023010290) 本周没写文章,主要是因为到上海参加了Oracle CAB/PAB会议,这个放在后面再讲,本期讲一讲Exadata,尤其是存储节点的硬件选择及其对应的一些通用…...
带着问题去分析:Spring Bean 生命周期 | 京东物流技术团队
1: Bean在Spring容器中是如何存储和定义的 Bean在Spring中的定义是_org.springframework.beans.factory.config.BeanDefinition_接口,BeanDefinition里面存储的就是我们编写的Java类在Spring中的元数据,包括了以下主要的元数据信息: 1&…...
C语言修行之函数篇(一)tolower —— 转换为小写字母
文章目录 函数说明函数声明函数返回值函数实现函数实例 函数说明 对于大写字母,如果在当前语言环境中存在小写表示形式,则tolower()返回其小写等效物。否则,tolower()函数执行相同的任务。 函数声明 #include <ctype.h> int tolower(…...
【JavaSE专栏55】Java集合类HashTable解析
🌲Java集合类HashTable解析 🌲Java集合类HashTable解析摘要引言Hashtable是什么?Hashtable vs. HashMap:何时使用Hashtable?多线程环境:历史遗留系统:不需要进行特殊操作: Hashtable…...
Apollo上机实践:一次对自动驾驶技术的亲身体验
上机实践 概述自动驾驶通信分布式系统开发模式开发工具 自动驾驶感知传感器特性感知流程及算法部署感知模型 自动驾驶决策规划决策规划流程和算法使用 Dreamview 进行控制在环的规划调试开发规划场景和算法 福利活动 主页传送门:📀 传送 概述 Apollo 是…...
QTcpServer简单的TCP服务器连接
1、简介 简单实现控制TCP服务器获取连接的套接字。点击断开服务器即可关闭所有连接,最大连接数量为5个。 声明源文件 #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//设置固定大小setFixedSize(1024,600);b…...
LeetCode热题100——双指针
双指针 1.移动零2.盛最多水的容器3.三数之和 1.移动零 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 // 题解:使用双指针,其中快指针指向非零元素,慢指针指向首个零元素下…...
Ubuntu ARMv8编译Qt源码以及QtCreator
最近需要在NVIDIA小盒子上面跑一个程序,一开始想着在Ubuntu x64下交叉编译一版,后来发现libqxcb.so 这个库在configure时就会一直报错,多方查找怀疑可能是由于硬件不支持在x64环境下编译AMR架构的xcb库。 所以最后在ARM下直接编译Qt源码了&am…...
虚机Centos忘记密码如何重置
1进入开机前的页面,选中第一个,按“e”键,进入编辑模式 2找到ro crashkernel项,将ro替换成 rw initsysroot/bin/sh 3 Ctrlx mount -o remount, rw / chroot /sysroot chroot /sysroot passwd root 输入两次密码 touch /.a…...
OpenGL_Learn02
1. 监听窗口,绑定回调函数 #include <glad/glad.h> #include <GLFW/glfw3.h> #include <iostream>void framebuffer_size_callback(GLFWwindow* window, int width, int height) {glViewport(0, 0, width, height);std::cout << "变了…...
基于STC系列单片机实现外部中断0控制按键调节定时器0产生PWM(脉宽调制)的功能
#define uchar unsigned char//自定义无符号字符型为uchar #define uint unsigned int//自定义无符号整数型为uint sbit PwmOut P1^0;//位定义脉宽调制输出为单片机P1.0脚 uchar PwmTimeCount;//声明脉宽调制时间计数变量 uchar PwmDutyCycle;//声明脉宽调制占空比变量 void Ti…...
vue3中 reactive和ref的区别
在Vue 3中,reactive和ref都是用于响应式数据的API。它们的主要区别在于使用方式和返回值类型。 reactive: reactive函数用于将一个对象转换为响应式对象。它接收一个普通的JavaScript对象,并返回一个被代理的响应式对象。这意味着当响应式对…...
docker的安装部署nginx和mysql
小白自己整理,如有错误请指示! 自我理解:docker就是把应用程序所用的依赖程序,函数库等相关文件打包成镜像文件,类似系统光盘,然后可以在任意电脑上安装使用(方便运维人员部署程序)…...
测试C#调用Aplayer播放视频(1:加载Aplayer控件)
微信公众号“Dotnet跨平台”的文章《开源精品,使用 C# 开发的 KTV 点歌项目》中使用了迅雷开源APlayer播放引擎。最近在学习有哪些能拿来播放视频的组件或控件,于是准备试试,根据文章中的介绍,在迅雷APlayer播放引擎网站中下载了A…...
二叉树的遍历+二叉树的基本操作
文章目录 二叉树的操作一、 二叉树的存储1.二叉树的存储结构 二、 二叉树的基本操作1.前置创建一棵二叉树:1. 定义结点 2.简单的创建二叉树 2.二叉数的遍历1.前序遍历2.中序遍历3.后序遍历4.层序遍历 3.二叉树的操作1.获取树中节点的个数2.获取叶子节点的个数3.获取…...
Go 语言gin框架的web
节省时间与精力,更高效地打造稳定可靠的Web项目:基于Go语言和Gin框架的完善Web项目骨架。无需从零开始,直接利用这个骨架,快速搭建一个功能齐全、性能优异的Web应用。充分发挥Go语言和Gin框架的优势,轻松处理高并发、大…...
Docker底层原理:Cgroup V2的使用
文章目录 检查 cgroup2 文件系统是否已加载检查系统是否已挂载 cgroup2 文件系统创建 cgroup2 层次结构查看 cgroup2 开启的资源控制类型启用 cgroup2 资源控制设置 cgroup2 资源限制加入进程到 cgroup2 检查 cgroup2 文件系统是否已加载 cat /proc/filesystems | grep cgroup…...
历年上午真题笔记(2014年)
解析:A 网络设计的三层模型 : 接入层:Layer 2 Switching,最终用户被许可接入网络的点,用户通过接入层可以访问网络设备。 汇聚层:Layer2/3 Switching,访问层设备的汇聚点,负责汇接配线单元,利用二、三层技术实现工作组分段及网络故障的隔离,以免对核心层网络设备造…...
终极指南:用Java打造你的专属微信机器人 - 深入解析wechat-api框架
终极指南:用Java打造你的专属微信机器人 - 深入解析wechat-api框架 【免费下载链接】wechat-api 🗯 wechat-api by java7. 项目地址: https://gitcode.com/gh_mirrors/we/wechat-api 想象一下这样的场景:每天早上7点,你的微…...
第三章 Qt 编译及安装
1. Qt 编译安装 2 Qt 在线安装 在线安装包的下载地址: https://download.qt.io/official_releases/online_installers/ Qt对不同的平台提供了不同版本的安装包,可根据实际情况自行下载安装,本文档使用qt-online-installer-windows-x64-on…...
Python异步I/O终极调优手册(含strace+py-spy+asyncio debug mode三重追踪链路图)
第一章:Python异步I/O性能瓶颈的本质洞察Python的async/await语法虽大幅简化了异步编程模型,但其底层性能瓶颈并非源于语法糖本身,而根植于事件循环调度机制、GIL对CPU密集型任务的制约,以及I/O等待与协程切换之间的隐式开销。事件…...
深度解析 ConcurrentHashMap 1.8:put 与 get 核心流程全解
在 Java 并发编程中,ConcurrentHashMap 是线程安全的高频使用集合,相比线程不安全的 HashMap、效率低下的 HashTable(全锁),JDK 1.8 版本的 ConcurrentHashMap 做了底层结构重构和锁机制优化,成为高并发场景…...
宁波小程序公司提供专业的小程序开发服务
在宁波小程序公司的服务中,我们致力于为客户提供清晰的内容结构和流畅的表达。我们通过深入的需求分析,确保每个项目都能符合客户特定的期望和市场需求。设计阶段注重市场调研,力求在视觉和功能上都能满足用户的使用习惯和偏好。开发过程中&a…...
Qwen3-14B-AWQ模型效果深度评测:在算法题求解上的表现
Qwen3-14B-AWQ模型效果深度评测:在算法题求解上的表现 1. 评测背景与模型简介 在AI技术快速发展的今天,大语言模型在代码生成和算法解题领域展现出越来越强的能力。Qwen3-14B-Int4-AWQ作为通义千问系列的最新量化版本,在保持较高推理能力的…...
Matlab散点图进阶:如何用颜色、大小和形状搞定六维数据可视化(附完整代码)
Matlab散点图进阶:如何用颜色、大小和形状搞定六维数据可视化(附完整代码) 在数据分析领域,我们常常需要处理包含多个维度的复杂数据集。传统的二维或三维图表已经无法满足这类数据的可视化需求。本文将深入探讨如何利用Matlab的s…...
手把手教你用XCVU3P和FMC+接口搭建高性能PCIe载板(附原理图下载)
基于XCVU3P与FMC的高性能PCIe载板开发实战指南 在当今高速数据处理领域,FPGA因其并行计算能力和可重构特性成为关键器件。Xilinx UltraScale系列的XCVU3P芯片配合FMC扩展接口,为开发者提供了强大的硬件加速平台。本文将深入解析如何从零开始构建一个支持…...
UG模型转STP后总出问题?可能是STEP 203和214版本没选对
UG模型转STP格式的深度选择指南:STEP 203与214版本差异解析 在工业设计领域,UG NX与STP格式的转换堪称日常操作,但许多工程师都曾遭遇这样的困境:明明转换过程一切顺利,接收方打开文件时却出现面片丢失、PMI信息异常甚…...
AutoGen多智能体框架:从协作价值到企业级实践指南
AutoGen多智能体框架:从协作价值到企业级实践指南 【免费下载链接】autogen 启用下一代大型语言模型应用 项目地址: https://gitcode.com/GitHub_Trending/au/autogen 在人工智能快速发展的今天,如何让AI系统像人类团队一样高效协作完成复杂任务&…...
