FRP部署本地服务器—-把自己电脑做成一个服务器的艰苦历程
frp首先准备:
一个域名,
一个能够公网访问的服务器vpn都可,
一台自己的电脑。
frp:frp下载地址 (因为我本地也是linux的虚拟机 所以我只下载了一个Linux的包就能运行了)
第一步,首先把 二级域名解析到服务器上即可。(我这里解析的是frp.talksphp.com)
第二步在 服务器的nginx 中添加一个server
#因为dzoffice 是需要长链接的 所以做了长连接的代理 server { listen 80; #这个端口是frp解析进来被nginx拦截并代理 listen 82; #这个是我开发dzzoffice所用到一个服务端口;就是说可以多域名监听多端口 server_name *.talksphp.com; #穿透的泛解析域名 如果多个主域名就在后面加个空格,解析 location / { proxy_pass http://127.0.0.1:8888; # frps的非80端口 proxy_http_version 1.1; client_max_body_size 10000M; # Limit Document size to 100MB proxy_read_timeout 3600s; proxy_connect_timeout 3600s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_redirect http://$host/ http://$http_host/; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; } }
在公网服务器端。下载并解压frp,修改frps.ini 如下
# 远程服务器监听端口,可以配合nginx反向代理实现去端口 serverAddr = "" // 服务端的ip 地址 bindPort = 37257 vhostHTTPPort = 37257 vhostHttpTimeout = 600 auth.token = "112233" # 启用端口复用 transport.tls.disableCustomTLSFirstByte = false # 日志输出文件路径 log.to = "console" # 日志文件最多保留天数 log.maxDays = 60 # 服务端面板 webServer.addr = "0.0.0.0" webServer.port = 47030 webServer.user = "adminadmin" webServer.password = "112233" [[proxies]] name = "office" type = "http" localPort = 80 customDomains = ["office.talksphp.com"] [[proxies]] name = "officeserver" type = "http" localPort = 82 customDomains = ["officeserver.talksphp.com"]
这里配置完成后需要启动。。启动日志就在的配置文件的 log_file。。下面的命令是在后台运行服务
nohup /root/frp/frps -c /root/frp/frps.ini > /root/frp/daka.log 2>&1 &
接下来到本地的虚拟机上配置frpc.ini
# 远程服务器监听端口,可以配合nginx反向代理实现去端口 serverAddr = "" // 服务端IP serverPort = 37257 auth.token = "112233" # 日志输出文件路径 log.to = "console" # 日志文件最多保留天数 log.maxDays = 60 [[proxies]] name = "office" type = "http" localIP = "127.0.0.1" localPort = 80 customDomains = ["office.talksphp.com"] [[proxies]] name = "officeserver" type = "http" localIP = "127.0.0.1" localPort = 82 customDomains = ["officeserver.talksphp.com"] transport.proxyProtocolVersion = "v2"
在后台启动一下。
nohup /root/frp/frpc -c /root/frp/frpc.ini > /root/frp/daka.log 2>&1 &
这样我们就能在任何地方访问 ****.talksphp.com ****.talksphp.com:82 ssh:/root@****.talksphp.com
配置方法万万千。这也是代理的一种方式。
可以租一个1核1G 100M带宽阿里的服务器 走流量计费 在公司或家里找一个不用的废弃笔记本做成centos系统。就可以有一个稳定的外网测试服务器了。nice,体验美好。
设置启动命令为
systemctl restart frps
systemctl stop frps
systemctl start frps
sudo vim /etc/systemd/system/frps.service
内容为:
[Unit] # 服务名称,可自定义 Description=Frp Server Service After=network-online.target Wants=network-online.target [Service] ExecStartPre=/bin/sleep 10 User=root Type = simple # 启动frps的命令,需修改为您的frps的安装路径 ExecStart = /www/frp/frpc -c /www/frp/frpc.toml Restart=on-failure [Install] WantedBy = multi-user.target