[玩转Linux] 安装部署Frp

简介: [玩转Linux] 安装部署Frp
没有公网IP怎么怎么访问自己的路由器呢? 最便携的方法当属于使用FRP内网穿透应用了

方法/步骤

一: Linux平台

1.1 配置FRPS

1.1.1 打开frps.ini

[common]
# frp 服务端端口(默认端口号7000)
bind_port = 7000

# 如果你想要用 frp 穿透访问内网中的网站(例如路由器设置页面)
# 则必须要设置以下两个监听端口,不设置则不会开启这项功能
vhost_http_port = 8080
vhost_https_port = 443




# 认证超时时间,由于时间戳会被用于加密认证,防止报文劫持后被他人利用
# 因此服务端与客户端所在机器的时间差不能超过这个时间(秒)
# 默认为900秒,即15分钟,如果设置成0就不会对报文时间戳进行超时验证
# authentication_timeout = 900




# 仪表盘端口,只有设置了才能使用仪表盘(默认端口号7500)
dashboard_port = 7500
# 仪表盘访问的用户名密码,如果不设置,则默认都是 admin
dashboard_user = admin
dashboard_pwd = admin




#日志路径
#日志记录级别
#日志保留天数
log_file = /usr/local/frps/frps.log
log_level = debug
log_max_days = 7

1.1.2 系统配置systemctl

# 创建frps.service
sudo vim /lib/systemd/system/frps.service

# 在frps.service里添加以下内容

[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.ini  

[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frps安装路径(本文以安装到/usr/local/为例)

1.1.3 启动并设置开机重启

# 启动frps
sudo systemctl start frps

# 服务器开机自动启动frps
sudo systemctl enable frps

# 重启frps
sudo systemctl restart frps

# 停止frps
sudo systemctl stop frps

# 查看日志
sudo systemctl status frps

1.1.4 使用配置frps.ini启动命令:

nohup ./frps -c ./frps.ini &

1.2 配置FRPC

1.2.1 配置frpc.ini

[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx

[server1]
type = tcp
local_ip = 127.0.0.1 
local_port = 3306
remote_port = 3306

1.2.2 系统配置systemctl

# 创建frps.service
sudo vim /lib/systemd/system/frpc.service

# 在frps.service里添加以下内容

[Unit]
Description=frpc service
After=network.target syslog.target
Wants=network.target

[Service]
Type=simple
# 启动服务的命令(此处写你的frpc的实际安装目录)
ExecStart=/usr/local/frpc/frpc -c /usr/local/frpc/frpc.ini  

[Install]
WantedBy=multi-user.target
注意"ExecStart="之后的路径要填写你的frpc安装路径(本文以安装到/usr/local/为例)

1.2.3 启动并设置开机重启

# 启动frpc
sudo systemctl start frpc

# 服务器开机自动启动frpc
sudo systemctl enable frpc

# 重启frpc
sudo systemctl restart frpc

# 停止frpc
sudo systemctl stop frpc

# 查看日志
sudo systemctl status frpc

二: Windows 平台

要暴露设备的客户端配置: common 配置是服务端端口号
remote_port 在公网服务要暴漏的端口号

2.1 Frpc

2.1.1 编辑 frpc.ini文件

[common]
server_addr = xxx.com
server_port = 7000
# 客户端连接所需的token
token = xxx

[server2]
type = tcp
local_ip = 127.0.0.1 
local_port = 6200
remote_port = 6200
  • 添加脚本(供计划任务使用)

start.bat

@echo off
:home
frpc -c frpc.ini
goto home

2.1.2 Frpc开机启动

开机启动可以加入操作系统计划任务或者使用工具进行

2.1.2.1 使用win10 任务计划

计算机管理--> 任务计划程序--> 创建任务
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.1.2.2 使用 WinSW 工具进行开机启动
Windows 启动工具 winSW 下载地址: https://github.com/winsw/winsw/releases
<service>
    <id>frp</id>
    <name>frp</name>
    <description>用frp发布本地电脑网站到外网</description>
    <executable>frpc</executable>
    <arguments>-c frpc.ini</arguments>
    <logmode>reset</logmode>
</service>

然后打开管理员权限命令提示符,使用下面的命令安装并启动服务。(执行winsw install如果返回值为0,说明已将程序注册为服务)

winsw install  
winsw start  

其他相关文章

🧲Nginx的安装和配置
🧲MySQL安装和配置

参考资料 & 致谢

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
10月前
|
NoSQL 关系型数据库 Linux
ERPNext 搭建教程:Linux 一键部署与维护
ERPNext 是一款开源免费的企业资源计划系统,适用于中小企业信息化管理。基于 Python 和 Frappe 框架开发,支持财务、销售、人力、库存等模块,具备高度可定制性。本文介绍如何通过 Websoft9 在 Linux 下快速部署 ERPNext,并提供环境配置、系统维护等实用建议,适合开发者和企业用户快速上手。
1732 7
ERPNext 搭建教程:Linux 一键部署与维护
|
12月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3728 57
|
10月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
913 13
|
12月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
562 41
|
10月前
|
关系型数据库 Linux Nacos
Rocky Linux 部署 Docker 和 NACOS 实例
本文介绍在阿里云环境下基于 Rocky Linux 搭建 Docker 并部署 Nacos 的完整流程。涵盖 Docker 安装、镜像加速配置、网络设置及 MySQL 与 Nacos 容器的创建,适用于开发与生产环境。
1239 0
|
12月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
723 17
|
12月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
419 18
|
12月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
326 10
|
关系型数据库 MySQL 应用服务中间件
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
939 23