强调:配置文件中每行代码最后一定不要留空格!!!
配置文件中尽量不要有注释,必须写的话,要用符合的语法写: 分号;
第一步:云服务器上域名解析添加(前提是有域名已经备案)
这里有对应操作截图文件
第二步:下载服务器管理软件
FinalShell SSH工具: /t/988.html
必备条件:java配置好,它依赖于java环境
推荐:也可以下载这个:terminus
第三步:下载frp内网穿透软件(服务器和客户端的均要下载哦)
官网:/fatedier/frp/releases
简单配置介绍 :/frp.html
服务端:(我的是64位linux系统)
centos 7 下载地址:/fatedier/frp/releases/download/v0.36.0/frp_0.36.0_linux_amd64.tar.gz
客户端:(我的是64位系统)这里对linux压缩包的解压说明:/COCOLI_BK/article/details/102519583
tar -zxvf 包名,即可!
Windows下载地址:
/fatedier/frp/releases/download/v0.36.0/frp_0.36.0_windows_amd64.zip
第四步:配置frp相关属性(简单配置哦,详细的自己百度啦)
服务端配置:登录finalShell客户端,服务器登陆成功
登录展示 登录必填项 接下来就是敲击命令行下载安装配置咯
服务器端的相关配置:
倘若出现权限不足的话,运行下面的命令即可:
chmod 777 ./frps # 说明: chmod 777 [程序命令名称]
1. 切换到通用目录cd /usr/local // 一般自己下载的文件放在这里名2. 下载frp文件wget /fatedier/frp/releases/download/v0.36.0/frp_0.36.0_linux_amd64.tar.gz3. 新建对应目录(可忽略,因为解压后也是文件夹)mkdir -p frp/4. 解压文件tar -zxvf frp_0.36.0_linux_amd64.tar.gz5. 修改文件夹名称(主要名字太长了)mv frp_0.36.0_linux_amd64 frp_0.36.06. 开始配置文件-a 服务端的话,frpc frpc.ini frpc_full.ini 可以删掉,它是客户端的;-b 打开文件frps.ini,执行命令 vim frps.ini frp文档:/fatedier/frp/blob/master/README_zh.md配置如下:[common]bind_addr=0.0.0.0bind_port = 7000// 这四行配置密码authenticate_heartbeats = trueauthenticate_new_work_conns = trueauthentication_method = tokentoken = ‘自定义密码’ // 密码,客户端和服务端都要配而且要一样哦</font>**,否则连接不成功;控制台登录端口dashboard_port = 7500 (随意输入);控制台登录名dashboard_user = admin;控制台登录密码dashboard_pwd = ‘自定义密码’-c ./frps -c ./frps.ini 测试是否配置成功,这是前台启动,后台启动命令为**nohup ./frps -c ./frps.ini &** , 注意退出要exit不要ctrl+c(图片复制到代码块外即可展示咯)
特别注意:在配置token令牌时若服务器和本地都配置没问题的话,本地还是启动不了,则很有可能就是远程已经启动了frp服务,端口已被占用,此时就要在服务器端查看后台运行程序:ps -ef|grep frps 若存在,执行kill 对应进程号 然后重新操作启动远程frp服务,本地基本上没啥问题了,至少我遇到了这个问题。希望对大家也有帮助呢
配置客户端(内网服务器)就是指你自己用的电脑
-a 首先删掉frps、frps.ini两个文件,然后再进行配置,vim ./frpc.ini-b 打开文件frpc.ini,配置如下:[common]server_addr = 106.12.91.55 # 服务器公网ipserver_port = 7000 # 要和服务器bind_addr对应相同// 这四行配置密码authenticate_heartbeats = trueauthenticate_new_work_conns = trueauthentication_method = tokentoken = ‘自定义密码’ // 密码,客户端和服务端都要配,否则连接不成功[客户端1] # 用户一(自定义随意起名)type = tcplocal_ip = 127.0.0.1local_port = 8080 # 本地启动服务端口号remote_port = 3389 # 本地设置远程服务端口号,这里不同则用户表示不 同(这里的端口和nginx代理时的端口要一致哟!!! http://127.0.0.1:3389)[客户端2] # 用户二(自定义随意起名)type = tcplocal_ip = 127.0.0.1local_port = 8080 # 本地启动服务端口号remote_port = 3399 # 本地设置远程服务端口号,这里不同则用户表示不同(nginx配置时: http://127.0.0.1:3399)-c ./frpc -c ./frpc.ini 测试是否配置成功,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini & , 注意退出要exit不要ctrl+c(图片复制到代码块外即可展示咯)```![](/aHR0cHM6Ly9wZXJzb25hbC1pbWFnZS1zdG9yYWdlLm9zcy1jbi1zaGFuZ2hhaS5hbGl5dW5jcy5jb20vJUU1JUFFJUEyJUU2JTg4JUI3JUU3JUFCJUFGJUU2JTg4JTkwJUU1JThBJTlGLnBuZw?x-oss-process=image/format,png)
访问frp管理页面
登录界面:(图片复制到代码块外即可展示咯)服务器外网ip:dashboard_port 125.251.552.2:7500
(这里可以用nginx反向代理利用域名来替换长长的ip数字:)
内部页面展示:(图片复制到代码块外即可展示咯)
至此,配置完成。接着就是将烦人的的域名或ip加端口号通过nginx代理转发到对应的域名下
nginx配置frp的管理界面和本地项目对应的http链接路径
即域名代替IP加端口的访问形式比如: 106.12.99.23:dashboard_port 代理后为: 本地项目对应的http链接路径:这里说明下和配置frp管理界面相同,但注意这里的路径访问指的是访问本地已经启动的项目,就是本地要有对应本地端口的项目启动,比如:localhost:8080 代理后(该项目在启动中) 等价于 localhost:8080
配置nginx,修改frp管理界面的路径
配置本地启动项目的路径格式为http://域名的形式,我做这个主要公众号开发测试要这种格式http的格式!
当一个服务器要多个客户端调用时则会出现这种情况,本地配置文件中remote_port要和对应服务器nginx中的ip端口相同,其他配置用户一和用户二不变
保存并执行文件
① esc ② wq! ③ nginx -s reload 重启nginx,执行配置!
运行界面展示
管理界面:
本地项目界面:
域名配置后直接可以访问本地已启动的项目,https的访问形式~~